/**
* 获取最近七天所有日期
*/
public function getWeeks($time = '', $format='Y-m-d'){
$time = $time != '' ? $time : time();
//组合数据
$date = [];
for ($i=1; $i<=7; $i++){
$date[$i] = date($format ,strtotime( '+' . $i-7 .' days', $time));
}
return $date;
}
/**
* 获取起始日期中的所有日期
* @param $start 开始时间 2022-09-22
* @param $end 结束时间 2022-09-29
* @return array
*/
public function getBetweenTime($start, $end){
$response = [];
$dt_start = strtotime($start);
$dt_end = strtotime($end);
while ($dt_start <= $dt_end) {
array_push($response, date('Y-m-d', $dt_start));
$dt_start = strtotime('+1 day', $dt_start);
}
return $response;
}
/**
* 获取起始时间戳
* @param string $type 类型 1本年 2本季度 3上月 4本月 5本周 6上周 7下周
* @return string
*/
public function getStartEndtime($type=''){
switch ($type) {
case 1:
//本年开始
$startTime = strtotime(date("Y", time()) . "-1" . "-1");
//本年结束
$overTime = strtotime(date("Y", time()) . "-12" . "-31");
break;
case 2:
//获取当前季度
$season = ceil((date('m')) / 3);
$startTime = mktime(00, 00, 00, $season * 2 + 1, 1, date('Y'));
$overTime = mktime(23, 59, 59, $season * 3, date('t', mktime(0, 0, 0, $season * 3, 1, date("Y"))), date('Y'));
break;
case 3:
//上月
$startTime = mktime(0,0,0,date("m")-1,1,date("Y"));
$overTime = mktime(0,0,0,date("m"),1,date("Y"))-1;
break;
case 4:
//本月
$startTime = mktime(0, 0, 0, date('m'), 1, date('Y'));
$overTime = mktime(23, 59, 59, date('m'), date('t'), date('Y'));
break;
case 5:
//本周
$startTime=mktime(0,0,0,date('m'),date('d')-date('w')+1,date('Y'));
$overTime=mktime(23,59,59,date('m'),date('d')-date('w')+7,date('Y'));
break;
case 6:
//上周
$startTime=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$overTime=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')); break;
case 7:
//下周
$startTime=mktime(0,0,0,date('m'),date('d')-date('w')+1+7,date('Y'));
$overTime=mktime(23,59,59,date('m'),date('d')-date('w')+7+7,date('Y'));
break;
default:
//今天
$startTime = mktime(0,0,0,date("m"),date("d"),date("Y"));
$overTime = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
break;
}
return ['statTime'=>$startTime,'endTime'=>$overTime];
}
/**
* @Author:小破孩
* @Email:3584685883@qq.com
* @Time:2024/11/11 11:34
* @return array
* @Description:获取当前时间到一周前的时间
*/
public function getTimeStamps() {
$todayEnd = strtotime(date('Y-m-d 23:59:59'));
$sevenDaysAgoStart = strtotime('-6 days 00:00:00');
return [
'start' => $sevenDaysAgoStart,
'end' => $todayEnd
];
}
/**
* @Author:小破孩
* @Email:3584685883@qq.com
* @Time:2024/12/7 11:05
* @param $year
* @param $month
* @return array
* @Description:获取指定月份的开始时间和结束时间
*/
public function getMonthStartAndEndTime($year, $month) {
$startTime = strtotime($year. '-'. $month. '-01 00:00:00');
$endTime = strtotime($year. '-'. $month. '-'. date('t', strtotime($year. '-'. $month. '-01')). ' 23:59:59');
return ['statTime'=>$startTime,'endTime'=>$endTime];
}
版权属于:
小破孩
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
评论