PHP获取今天,昨天,本月,上个月,本年 起始时间戳或日期,最新更新时间为2020-04-01
date_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时 //获取今日开始时间戳和结束时间戳 $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;
//获取本周起始时间戳和结束时间戳 $beginThisweek = mktime(0,0,0,date('m'),date('d')-date('w')+1,date('y')); $endThisweek=time();
//获取上周起始时间戳和结束时间戳 $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'));
//获取本月起始时间戳和结束时间戳 $beginThismonth=mktime(0,0,0,date('m'),1,date('Y')); $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
//上个月的起始时间: $month = 1; // 1代表上个月,可以增加数字追溯前几个月的时间 $begin_time = date("Y-m-d", mktime(0, 0, 0, date("m") - 1 * $month, 1, date("Y"))); $end_time = date("Y-m-d", mktime(23, 59, 59, date("m") - ($month - 1), 0, date("Y")));
// 以下方法有误差,例如3月31日那天的上个月时间匹配出是3月2日,已亲自测试,所以已废弃 //$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'))); $begin_year = strtotime(date("Y",time())."-1"."-1"); //本年开始 $end_year = strtotime(date("Y",time())."-12"."-31"); //本年结束
//现在的时间到第二天凌晨相差的时间戳 $time = (strtotime(date('Y-m-d'))+3600*24) - time() ;