Carbon addMonth() 显示异常(bug)or 特殊情况?
今天是8月31日。我在使用Carbon包的addMonth()方法时发现显示的是十月。代码如下:
Carbon::now()->addMonth()->format('n');
后来我尝试使用PHP标准库的函数也发生了同样的情况:
date('Y-n-d', strtotime('+1 month'));
我不能理解发生了什么,是否是一个bug。
计算溢出了,试试
addMonthsNoOverflow
方法鸟哥有专门讲过 令人困惑的strtotime - 风雪之隅
这里是
strtotime
的坑,所以一般都取每月1号太简单了啊,因为 9 月没有 31 号。
2021-08-31 + 1 month = 2021-09-31