海南旅游SAAS
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

<?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];
}
}