• 0
  • 0

日期时间范围选择

2019-07-17 1096 0 admin 所属分类:LAYUI

LAYU提供强悍的日期选择

<div class="layui-input-inline" style="width: 200px;">
    <input type="text" id="search_time" name="search_time" placeholder="时间范围" autocomplete="off" class="layui-input" value="{$search_time}">
</div>

支持以下类型

//年选择器
laydate.render({
    elem: '#sarch_time',
    type: 'year'
});
//年月选择器
laydate.render({
    elem: '#sarch_time',
    type: 'month'
});
//日期选择器
laydate.render({
    elem: '#sarch_time'
    //,type: 'date' //默认,可不填
});
//时间选择器
laydate.render({
    elem: '#sarch_time',
    type: 'time'
});
//日期时间选择器
laydate.render({
    elem: '#sarch_time',
    type: 'datetime'
});
//范围选择器
laydate.render({
    elem: '#sarch_time',
    range: true //或者是分隔符 默认为 - 
});

使用范围选择 ,为了方便我把分隔符弄为 : 冒号

有些情况下需要初始化限定查找当天的订单信息 可以如下赋值

$date = date('Y-m-d',time());
$search_time = $date.' : '.$date;

PHP代码查询条件如下设置

if ($_GET['search_time']) {
    list($_GET['created_at_start'], $_GET['created_at_end']) = explode(":", $_GET['search_time']);
    $_GET['created_at_start'] = strtotime(trim($_GET['created_at_start']));
    $_GET['created_at_end'] = strtotime(trim($_GET['created_at_end'])) + 86400;
}
if ($_GET['created_at_start']) { // 创建时间
    $sql. = ' and (created_at >= '.$_GET['created_at_start'];
    if ($_GET['created_at_end']) {
        $sql. = ' and created_at <= '.$_GET['created_at_end'];
    }
    $sql. = ')';
}

如果是有两个日期框组合的 可以如下设置条件

if ($_GET['created_at_start']) { // 创建时间
    $sql. = ' and (created_at >= '.strtotime($_GET['created_at_start']);
    if ($_GET['created_at_end']) {
        $sql. = ' and created_at <= '.strtotime($_GET['created_at_end']);
    }
    $sql. = ')';
}



返回顶部