小卜不要抄我的代碼!
今日、昨日、上週、本月、上月、上上月
<?php
//php獲取今日開始時間戳和結束時間戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
//php獲取昨日起始時間戳和結束時間戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
//php獲取上週起始時間戳和結束時間戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
//php獲取本月起始時間戳和結束時間戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
//PHP mktime() 函數用於返回一個日期的 Unix 時間戳。
mktime(hour,minute,second,month,day,year,is_dst)
//上月開始時間 和 結束時間
$begin_time = date('Y-m-01 00:00:00',strtotime('-1 month'));
$end_time = date("Y-m-d 23:59:59", strtotime(-date('d').'day'));
//上上月 開始時間 和結束時間
$begin_time = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-2,1,date("Y")));
$end_time = date("Y-m-d H:i:s",mktime(23,59,59,date("m")-1 ,0,date("Y")));
?>
最近一個月,三個月,6個月,最近一年
switch ($month)//最近月數
{
case 1:#最近一個月
#本期時間段
$nowbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))));#上月
$nowend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))))-1;
#上期時間段
$lastbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-2,1,date("Y"))));#上上月
$lastend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))))-1;
break;
case 3:#最近三個月
#本期時間段
$nowbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-3,1,date("Y"))));
$nowend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))))-1;
#上期時間段
$lastbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-6,1,date("Y"))));
$lastend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-3,1,date("Y"))))-1;
break;
case 6:#最近六個月
#本期時間段
$nowbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-6,1,date("Y"))));
$nowend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))))-1;
#上期時間段
$lastbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-12,1,date("Y"))));
$lastend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-6,1,date("Y"))))-1;
break;
case 12:#最近12個月(最近一年)
#本期時間段
$nowbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-13,1,date("Y"))));
$nowend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))))-1;
#上期時間段
$lastbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-25,1,date("Y"))));
$lastend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-13,1,date("Y"))))-1;
break;
default:
#本期時間段
$nowbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))));
$nowend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))))-1;
#上期時間段
$lastbegin = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-2,1,date("Y"))));
$lastend=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))))-1;
$month=1;
break;