//生成一段時(shí)間 返回這段時(shí)間每一天組成的數(shù)組
function getTimeInterval($start_time, $end_time)
{
? ? $time = array();
? ? $tmp_time = date('Y-m-d', strtotime($start_time));
? ? $time[] = $tmp_time;
? ? while ($tmp_time < $end_time){
? ? ? ? $tmp_time = date("Y-m-d",strtotime("$tmp_time? +1 day"));
? ? ? ? $time[] = $tmp_time;
}
? ? return $time;
}
//生成一段時(shí)間 返回這段時(shí)間每一月組成的數(shù)組
function getMonthInterval($start_time, $end_time)
{
? ? $time = array();
? ? $tmp_time = date('Y-m', strtotime($start_time));
? ? $time[] = $tmp_time;
? ? while ($tmp_time < $end_time){
? ? ? ? $tmp_time = date("Y-m",strtotime("$tmp_time? +1 month"));
? ? ? ? $time[] = $tmp_time;
}
? ? return $time;
}
//生成一段時(shí)間沈自, 返回這段時(shí)間每年 組成的數(shù)組
function getYearInterval($start_time, $end_time)
{
? ? $tmp_year = date('Y', strtotime($start_time));
? ? $end_year = date('Y', strtotime($end_time));
? ? $time[] = $tmp_year;
? ? while($tmp_year < $end_year){
? ? ? ? $tmp_year += 1;
? ? ? ? $time[] = $tmp_year;
}
? ? return $time;
}
//計(jì)算某一個月份的 最后一天
function getLastDay($date)
{
? ? $firstDay = getFirstDay($date);
? ? return date('Y-m-d', strtotime("$firstDay +1 month -1 day"));
}
//獲取當(dāng)前月份 前一個月份的第一天
function getLatelyMonthFirstDay()
{
? ? $timestamp=time();
? ? $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
? ? return $firstday;
}
//獲取當(dāng)前月份 前一個月份的最后一天
function getLatelyMonthLastDay()
{
? ? $firstday=getLatelyMonthFirstDay();
? ? $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
? ? return $lastday;
}
//返回一周之前的日期y-m-d
function getLastWeek()
{
? ? return date('Y-m-d',time()-7*24*3600);
}
//獲取時(shí)間間隔的天數(shù)$start, $end 2008-9-11 2009-10-13
function getIntervalDays($start, $end)
{
? ? $datetime1 = new DateTime($start);
? ? $datetime2 = new DateTime($end);
? ? $interval = $datetime1->diff($datetime2);
? ? return $interval->days;
}
//獲取月份的季度
function getSeasonByDate($date)
{
? ? $m = date('m',strtotime($date));
? ? $season = ceil($m/3);
? ? return $season;
}
//獲取本周開始結(jié)束時(shí)間 end_day 結(jié)束的日期(星期1,2,3...)
function getThisWeekStartAndEndTime($current_date,$end_day = 7)
{
? ? //$first =1 表示每周星期一為開始日期 0表示每周日為開始日期
? ? $first=1;
? ? $range = $end_day - $first;
? ? //獲取當(dāng)前周的第幾天 周日是 0 周一到周六是1 - 6
? ? $w=date('w',strtotime($current_date));
? ? //獲取本周開始日期,如果$w是0憾筏,則表示周日舍扰,減去 6 天
? ? $week_start=date('Y-m-d',strtotime("$current_date -".($w ? $w - $first : 6).' days'));
? ? //本周結(jié)束日期
? ? $week_end=date('Y-m-d',strtotime("$week_start +$range days"));
? ? return [
? ? ? ? 'start_time' => strtotime($week_start." 00:00:01"),
? ? ? ? 'end_time' => strtotime($week_end." 23:59:59"),
];
}
}