注意:网上大多数计算周的时候使用PHP4.1的date(‘w’) ,0-6这样会导致周日0计算有误,所以需要做个判断,周日的时候使用PHP5.1版本以后的1-7的 date(‘n’)
//本周时间戳
if(date("w")==0){
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("n")+0,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("n")+6,date("Y"))));
}else{
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))));
}
//上周时间戳
if(date("w")==0){
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("n")+0-7,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("n")+6-7,date("Y"))));
}else{
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))));
}
//上上周时间戳
if(date("w")==0){
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("n")+0-14,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("n")+6-14,date("Y"))));
}else{
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-14,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-14,date("Y"))));
}
//本月时间戳
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))));
//上月时间戳
$startdate=strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))));
$enddate=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))));
//上一年时间戳
$startdate=strtotime(date('Y-m-d',mktime(0, 0 , 0,1,1,date("Y")-1)));
$enddate=strtotime(date('Y-m-d H:i:s',mktime(23,59,59,12,31,date("Y")-1)));
//今年时间戳
$startdate=strtotime(date('Y-m-d',mktime(0, 0 , 0,1,1,date("Y"))));
$enddate=strtotime(date('Y-m-d H:i:s',mktime(23,59,59,12,31,date("Y"))));