当前日期是2017年3月29日

当我使用PHP减去2个月后,我得到January

$prevmonth = date('M', strtotime('-2 months'));
echo $prevmonth;

但是当我减去1个月时,它会给出March
$prevmonth = date('M', strtotime('-1 months'));
echo $prevmonth;

最佳答案

strtotime()使用30天的月份,因此2月(今年)的天数只有28天,因此2月将不会产生有效的日期。您可以使用当日的dj,然后减去将始终放在上个月的日期(-29 days):

$prevmonth = date('M', strtotime('-' . date('d') . ' days'));

这也会从December中获取January

10-08 06:52