相关文章推荐
无邪的黄花菜  ·  PHP ...·  2 周前    · 
卖萌的小蝌蚪  ·  将 Entity ...·  5 月前    · 
完美的杯子  ·  MySQL写注释出现is not ...·  1 年前    · 
// 2019-12-01   正确应该是 2019-11-30
date('Y-m-d', strtotime('+1 month', strtotime('2019-10-31')));
// 2019-10-01   正确应该是 2019-09-30
date('Y-m-d', strtotime('-1 month', strtotime('2019-10-31')));

解决办法:

可以使用“ last day of ”来获取最后一天。

// 2019-11-30
date('Y-m-d', strtotime('last day of +1 month', strtotime('2019-10-31')));
// 2019-09-30
date('Y-m-d', strtotime('last day of -1 month', strtotime('2019-10-31')));

测试后发现获取第一天数据也有同样的问题:
相应的可以使用“ first day of ”来获取第一天数据。

// 2019-11-01
date('Y-m-d', strtotime('first day of +1 month', strtotime('2019-10-31')));
// 2019-09-01
date('Y-m-d', strtotime('first day of -1 month', strtotime('2019-10-31')));