strtotime(+1 个月)和 December/next 年的行为

Behaviour of strtotime(+1 month) and December/next year

我正在使用 php 并且必须比较在当前月份的第一天和下个月的第一天之间创建的一些数据。

我使用 date('Y-m-d', strtotime('+1 month')); 获取下个月的第一天。这是否意味着当当前日期是 2019 年 1 月 1 日2018-12-16?或者 strtotime('+1 month') 只是添加下个月而忽略年份,所以结果将是 2018-01-16...?

我不确定,如果这是 strtotime('+1 month') 的工作方式,我无法用硬编码的月份进行测试; date('Y-12-d', strtotime('+1 month')); returns 2018-12-28...我用正确的方式测试了吗?

感谢您的帮助!

strtotime('+1 month')在当月加上1个月,例如

如果当前日期是 2018-06-28 那么

echo date('Y-m-d', strtotime('+1 month'));

输出是:

2018-07-28

如果您想要月份的第一个日期,请使用:

echo date('Y-m-01', strtotime('+1 month')); // +1 month (Jun to July)

echo date('Y-m-01'); // Return Current Month

如果当前月份是 December 并且您用 strtotime('+1 month') 添加 1 个月,那么您的日期将在明年