You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
3.0 KiB
78 lines
3.0 KiB
<?php
|
|
|
|
|
|
namespace App\Common;
|
|
|
|
|
|
class DataTime
|
|
{
|
|
/**
|
|
* 处理时间为空时的时间显示格式
|
|
* @param $time
|
|
* @return string
|
|
*/
|
|
public static function format($time)
|
|
{
|
|
if (is_numeric($time)&&$time>0) {
|
|
return date('Y-m-d H:i', $time);
|
|
} elseif (empty($time) || $time->format('Y-m-d') == '1970-01-01') {
|
|
return '-';
|
|
}
|
|
return $time->format('Y-m-d H:i');
|
|
}
|
|
|
|
/**
|
|
* 查询时间范围
|
|
* @param $option
|
|
* @return array
|
|
*/
|
|
public static function beginAndEnd($option)
|
|
{
|
|
$t = time();
|
|
switch ($option) {
|
|
case 'today':
|
|
$beginTime = date('Y-m-d H:i:s', mktime(0, 0, 0, date("m", $t), date("d", $t), date("Y", $t)));
|
|
$endTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1);
|
|
break;
|
|
case 'yesterday':
|
|
$beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')));
|
|
$endTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1);
|
|
break;
|
|
case '7day':
|
|
$beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') - 7, date('Y')));
|
|
$endTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1);
|
|
break;
|
|
case 'week':
|
|
$timestamp = mktime(0, 0, 0, date('m'), date('d') - date('w') + 1, date('Y'));
|
|
$beginTime = date('Y-m-d H:i:s', $timestamp);
|
|
|
|
//本周结束日期
|
|
$timestamp = mktime(23, 59, 59, date('m'), date('d') - date('w') + 7, date('Y'));
|
|
$endTime= date('Y-m-d H:i:s',$timestamp);
|
|
break;
|
|
case 'last_week':
|
|
$beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y")));
|
|
$endTime = date('Y-m-d H:i:s',mktime(23, 59, 59, date("m"), date("d") - date("w") + 7 - 7, date("Y")));
|
|
break;
|
|
case 'month':
|
|
$beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), 1, date('Y')));
|
|
$endTime = date('Y-m-d H:i:s',mktime(23, 59, 59, date('m'), date('t'), date('Y')));
|
|
break;
|
|
case 'last_month':
|
|
$beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m') - 1, 1, date('Y')));
|
|
$endTime = date('Y-m-d H:i:s',strtotime(date("Y-m-d H:i:s", mktime(23, 59, 59, date("m"), 0, date("Y")))));
|
|
break;
|
|
default:
|
|
$searchTime = request()->input('created_at');
|
|
if ($searchTime){
|
|
$beginTime = date('Y-m-d H:i:s',strtotime($searchTime['start']));
|
|
$endTime = date('Y-m-d H:i:s',strtotime($searchTime['end']));
|
|
}else{
|
|
$beginTime = 0;
|
|
$endTime = 999999999999;
|
|
}
|
|
break;
|
|
}
|
|
return [$beginTime,$endTime];
|
|
}
|
|
}
|