获取今日、昨日、上周、本月、上月、上上月,最近三个月,前三个月 的起始时间戳 结束时间戳,自动跨年计算

小卜不要抄我的代码!

今日、昨日、上周、本月、上月、上上月
<?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;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值