需求:最近get了一个很好用的PHP关于时间的函数strtotime,因为最近有个项目涉及到很多时间段(今天,昨天,本周,上周,本月,上月,总)的查询,要根据指定时间算出它每个范围的开始时间和结束时间
函数介绍:strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(看着就很牛逼,不信看下面代码)
语法:strtotime(time,now);
参数 | 描述 |
---|---|
time | 必需。规定日期/时间字符串。 |
now | 可选。规定用来计算返回值的时间戳。如果省略该参数,则使用当前时间。 |
$time = time();//时间可以自己设置
//当天开始时间和结束时间
$TodayStart = strtotime("Today",$time);
$TodayEnd = $TodayStartTime+60*60*24-1;
//昨天开始时间和结束时间
$YesterdayStart = strtotime("Yesterday",$time);
$YesterdayEnd = $TodayStart-1;
//本周开始时间和结束时间
$ThisWeekStart = strtotime("Monday",$time);//这周一开始时间
$ThisWeekEnd = strtotime("next Monday",$time)-1;//这周日结束时间=下周一开始时间减一秒
//上周开始时间和结束时间
$LastWeekStart = strtotime("-1 week",$ThisWeekStart);
$LastWeekEnd = strtotime("-1 week",$ThisWeekEnd);
//获取本月开始时间和结束时间
$ThisMonthStart = strtotime(date("Y-m",$time));//
$ThisMonthEnd = strtotime("+1 month",$ThisMonthStart)-1;//本月开始时间加一月减一秒
//获取上月开始时间和结束时间
$LastMonthStart = strtotime("-1 month",$ThisMonthStart);//本月开始时间减一月
$LastMonthEnd = $ThisMonthStart-1;//本月开始时间减一秒