PHP 获取今日本周本月本季度本年起始时间和时间戳

∫`不撒娇的折耳猫 2020-3-26 1865

 

 date_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时


1、获取今日和昨天开始时间戳和结束时间戳

 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
 $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

 //获取昨日起始时间戳和结束时间戳
 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
 $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;


 2、获取本周和上周起始时间

 date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));
 date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));

 //获取上周起始时间戳和结束时间戳
 $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'));


3、获取本月和上个月月初和月末的时间日期和时间戳    

 $y = date('Y',time());
 $m = date('m',time());  
 $t1 = strtotime($y.'-'.$m.'-1 00:00:00');//本月初   获取时间戳
 //$t2 = strtotime(date('Y-m-t'));//获取本月末  方法2
 $t2 = strtotime($y.'-'.($m).'-'.date('t'));//本月末
 $time1=date('Y-m-d',$t1);//把本月初时间戳   换成ymd格式
 $time2=date('Y-m-d',$t2);//把本月末时间戳   换成ymd格式

 //上个月的起始时间:
 $begin_time = strtotime(date('Y-m-01 00:00:00',strtotime('-1 month')));
 $end_time = strtotime(date("Y-m-d 23:59:59", strtotime(-date('d').'day')));


        4、本季度和上季度起始时间

  $season= ceil((date('n'))/3);//当月是第几季度
  date('Y-m-d H:i:s',mktime(0, 0, 0,$season*3-3+1,1,date('Y')));
  date('Y-m-d H:i:s',mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));
  
  //上季度起始和结束日期
  date('Y-m-01',mktime(0,0,0,($season - 2) * 3 +1,1,date('Y')));
  date('Y-m-t',mktime(0,0,0,($season - 1) * 3,1,date('Y')));
  //上季度的支持跨


5、本年和去年起始时间

  $begin_year = strtotime(date("Y",time())."-1"."-1"); //本年开始
  $end_year = strtotime(date("Y",time())."-12"."-31"); //本年结束
  
  //上一年起始和结束日
  date('Y-01-01',strtotime('-1 year'));
  date('Y-12-31',strtotime('-1 year'));


6、时间差

 //现在的时间到第二天凌晨相差的时间戳
 $time = (strtotime(date('Y-m-d'))+3600*24) - time();


最新回复 (0)
发新帖