/**
* 处理起止时间
* @param $type //快速筛选 1-今日 2-本周 3-当月 4-本季度 5-本年
* @param $startDate //开始日期
* @param $endDate //结束日期
* @return array|string[]
*/
function handleStartStopDate($type, $startDate, $endDate)
{
//默认初始化为今日起止时间
$suffix_start = ' 00:00:00';
$suffix_end = ' 23:59:59';
$dateArray = [
'startDate' => date('Y-m-d') . $suffix_start,
'endDate' => date('Y-m-d') . $suffix_end
];
//如果快速获取时间 和 开始时间截止时间都存在拿取当前传入的时间
//或
//快速获取时间不存在并且开始时间截止时间都存在拿取当前传入的时间
if (($type && $startDate && $endDate) || (!$type && $startDate && $endDate)) {
$dateArray['startDate'] = $startDate . $suffix_start;
$dateArray['endDate'] = $endDate . $suffix_end;
} elseif ($type && !$startDate && !$endDate) {
switch ($type) {
case 2://本周
$dateArray = getWeekTime();
break;
case 3://当月
$dateArray = getMonthTime();
break;
case 4://本季度
$dateArray = getQuarterTime();
break;
case 5://本年
$dateArray = getYearTime();
break;
}
}
return $dateArray;
}
/**
* 获取本周时间
* @return string[]
*/
function getWeekTime()
{
// 获取当前日期
$currentDate = date('Y-m-d');
// 获取本周起始日期
$weekStart = date('Y-m-d', strtotime('this week', strtotime($currentDate)));
// 获取本周结束日期
$weekEnd = date('Y-m-d', strtotime('this week +6 days', strtotime($currentDate)));
$start_time = $weekStart . ' 00:00:00';
$end_time = $weekEnd . ' 23:59:59';
return $dateArray = [
'startDate' => $start_time,
'endDate' => $end_time
];
}
//获取本月起止时间
function getMonthTime()
{
// 获取当前日期
$currentDate = date('Y-m-d');
// 获取本月起始日期
$monthStart = date('Y-m-01', strtotime($currentDate));
// 获取本月结束日期
$monthEnd = date('Y-m-t', strtotime($currentDate));
$start_time = $monthStart . ' 00:00:00';
$end_time = $monthEnd . ' 23:59:59';
return $dateArray = [
'startDate' => $start_time,
'endDate' => $end_time
];
}
/**
* 获取本季度起止时间
* @return array
*/
function getQuarterTime()
{
$season = ceil((date('n'))/3);//当月是第几季度
$start = date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));
$end = date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));
return $dateArray = [
'startDate' => $start,
'endDate' => $end
];
}
/**
* 获取本年起止时间
* @return array
*/
function getYearTime()
{
$suffix_start = ' 00:00:00';
$suffix_end = ' 23:59:59';
$currentYear = date('Y');
// 获取本年度起始时间
$dateArray['startDate'] = date('Y-01-01', strtotime($currentYear)) . $suffix_start;
// 获取本年度结束时间
$dateArray['endDate'] = date('Y-12-31', strtotime($currentYear)) . $suffix_end;
return $dateArray;
}
原文地址:https://blog.csdn.net/qq_41904362/article/details/134754835
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_26922.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。