刚开始是这样写的(时间区间):
/**
* 获取查询条件的日期区间
* @param $date_flag
* @return array
*/
public static function conditionDate($date_flag)
{
$time = time();
$start_date = '';
$end_date = '';
//今天
if ($date_flag === 'today') {
$start_date = date('Y-m-d', $time);
$end_date = date('Y-m-d', strtotime($start_date) + 86400);
}
//昨天
if ($date_flag === 'yesterday') {
$end_date = date('Y-m-d', $time);
$start_date = date('Y-m-d', strtotime($end_date) - 86400);
}
//本周
if ($date_flag === 'week') {
$week = date('N');
$end_date = date('Y-m-d', strtotime(date('Y-m-d', $time)) + 86400);
$start_date = date('Y-m-d', strtotime($end_date) - 86400 * $week);
}
//本月
if ($date_flag === 'month') {
$start_date = date('Y-m-01', time());
$end_date = date('Y-m-d', strtotime(date('Y-m-d', $time)) + 86400);
}
return ['start'=>$start_date, 'end'=>$end_date];
}
都是用86400来算,上面笔记个性化的是本周开始的时间,本月开始时间,其实拿到这些有跟简单的方法
可以参考 http://www.caizhichao.cn/738.html ,说得很详细了。