php获取指定日期,前一天、前一周、前一个月、前一年,后一天,后一周,前一个月,前一年

dump(date('Y-m-d', strtotime('2018-10-1 +1 day')));

dump(date('Y-m-d', strtotime('2018-10-1 +1 week')));

dump(date('Y-m-d', strtotime('2018-10-1 +1 month')));

dump(date('Y-m-d', strtotime('2018-10-1 +1 year')));

dump(date('Y-m-d', strtotime('2018-10-1 -1 day')));

dump(date('Y-m-d', strtotime('2018-10-1 -1 week')));

dump(date('Y-m-d', strtotime('2018-10-1 -1 month')));

dump(date('Y-m-d', strtotime('2018-10-1 -1 year')));

同理,把2018-10-1换成变量,就可以做很多事了!

ps 由于每个月份的天数不一样 +/- 1 month 特殊日期会有误差

//获取上一个月日期方法

public function getBeforeMonthDate($currentDate)
{
$currentMonthDay = date('t', strtotime($currentDate));
$currentDay = date('d', strtotime($currentDate));
$yearMonth = date('Y-m', strtotime($currentDate));
$beforeMonth = date('Y-m-d', strtotime("$yearMonth -1 month"));
$beforeMonthDay = date('t', strtotime($beforeMonth));
if ($beforeMonthDay < $currentMonthDay && $beforeMonthDay < $currentDay) {
$beforeDate = date("Y-m-d", strtotime("last day of -1 month", strtotime($currentDate)));
} else {
$beforeDate = date('Y-m-d', strtotime("$currentDate -1 month"));
}
return $beforeDate;
}
上一篇:CentOS 6.5断电后启动出现:unexpected inconsistency run fsck manully


下一篇:Android面试基础(一)IOC(DI)框架(ViewUtils)讲解_反射和自定义注解类