PHP获取当天的开始时间和结束时间

PHP获取当天的开始时间和结束时间,以今日 2016-03-29 为例。

Unix时间

//当天开始时间 Unix时间戳
$start_time = strtotime(date("Y-m-d", time()));
echo  $start_time; //1459180800

//当天结束之间 23:59:59 Unix时间戳
$end_time = $start_time + 60*60*24 - 1;

//当天结束时间 另一种写法
end_time = strtotime(date("Y-m-d 23:59:59", time()));
echo $end_time; //1459267199

其他时间格式

$start_time = date("Y-m-d H:i:s", $start_time);
echo $start_time; //2016-03-29 00:00:00

$end_time = date("Y-m-d H:i:s", $end_time);
echo $end_time; //2016-03-29 23:59:59

如下是日期相关的拓展

昨天日期

date("Y-m-d H:i:s", strtotime("-1 day")); //昨天的现在时间 减去24小时
date("Y-m-d H:i:s", strtotime("yesterday"));//昨天凌晨00:00:00的时间
date("Y-m-d H:i:s", mktime(0,0,0,date("m"), date("d")-1,date("Y")));//昨天凌晨00:00:00的时间

明天日期

date("Y-m-d H:i:s",strtotime("+1 day")); //明天的现在时间 加上24小时
date("Y-m-d H:i:s",strtotime("tomorrow"));//明天凌晨00:00:00的时间
date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")+1,date("Y")));//明天凌晨00:00:00的时间

五天后的日期

date("Y-m-d H:i:s",strtotime("+5 day")); //五天后的现在时间
date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")+5,date("Y")));//五天后凌晨00:00:00的时间

一周后的日期

date("Y-m-d H:i:s",strtotime("+1 week")); //一周后的现在时间

三十天后的日期

date("Y-m-d H:i:s",strtotime("+30 day")); //三十天后的现在时间
date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")+30,date("Y")));//三十天后凌晨00:00:00的时间

一个月后和一个月前日期

date("Y-m-d H:i:s",strtotime("+1 month")); //一月后的现在时间
date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")+1,date("d"),date("Y")));//一个月后的凌晨时间

date("Y-m-d",strtotime("last month")); //一个月前的时间
date("Y-m-d",strtotime("-1 month"));//一个月前时间

一年后和一年前日期

date("Y-m-d H:i:s",strtotime("-1 year")); //一年前的现在时间
date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d"),date("Y")-1));//一年前的凌晨时间
date("Y-m-d H:i:s",strtotime("+1 year")); //一年后的现在时间
date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d"),date("Y")+1));//一年后的凌晨时间

php获取一周零两天四小时五分钟两秒后时间

date("Y-m-d H:i:s",strtotime("+1 week 2 days 4 hours 5 minute 2 seconds"));

今天开始和结束的时间

date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d"),date("Y")));//今天的凌晨时间
date("Y-m-d H:i:s",mktime(23, 59 , 59,date("m"),date("d"),date("Y")));//今天的结束时间

获取本周开始和结束时间

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")));//周日23:59:59

$time=time();
date("Y-m-d H:i:s",strtotime("this week Monday",$time));
date("Y-m-d 23:59:59",strtotime("this week Sunday",$time));

本月起止时间

date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y")));//本月第一天的凌晨时间
date("Y-m-d H:i:s",mktime(23, 59 , 59,date("m"),date("t"),date("Y")));//本月最后一天的结束时间