PHP 日期在减去一个月后返回错误的月份

Jam*_*rge 5 php date

当前日期是 2017 年 3 月 29 日

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

$prevmonth = date('M', strtotime('-2 months'));
echo $prevmonth;
Run Code Online (Sandbox Code Playgroud)

但是当我减去 1 个月它给出 March

$prevmonth = date('M', strtotime('-1 months'));
echo $prevmonth;
Run Code Online (Sandbox Code Playgroud)

Abr*_*ver 1

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

$prevmonth = date('M', strtotime('-' . date('d') . ' days'));
Run Code Online (Sandbox Code Playgroud)

这也将从December中得到。January