我更新了所有用 Laravel 构建的项目。
在这个项目的任何部分我都有这个代码:
$FI->copy()->addMonth(3)->subDay();
但是当通过时
phpStan
返回
Method Carbon\Carbon::addMonth() invoked with 1 parameter, 0
required.
我正在阅读,现在我必须更改为这种方法
$FI->copy()->addMonthsWithOverflow(3)->subDay();
但我不知道这个代码是否与之前的代码相同。我正在构建脚本来尝试检查两个日期是否相同:
$period = CarbonPeriod::create('2023-12-31T00:00:00Z', '2024-05-31T00:00:00Z');
// Iterate over the period
$dates = array();
foreach ($period as $date) {
$date->format('Y-m-d\TH:i:s\Z');
$final_date = $date->copy()->addMonth(3)->subDay();
array_push($dates, $final_date);
}
foreach ($dates as $key => $value){
echo "key ".$key." value: ".$value."<br>";
}
echo "<br>";
$dates2 = array();
foreach ($period as $date) {
$date->format('Y-m-d\TH:i:s\Z');
$final_date = $date->copy()->addMonthsWithOverflow(3)->subDay();
array_push($dates2, $final_date);
}
foreach ($dates as $key => $value){
echo "key2 ".$key." value2: ".$value."<br>";
}
我可以证明两个日期是相同的,但我需要确保这个新方法是正确的。
谢谢你的自述,抱歉我的英语不好
在碳中,
addMonth()
和 addMonths()
之间存在差异。 addMonth()
是
addMonths(1), if you want to invoke the method with a parameter, as you are doing right now, it should be
addMonths(3)instead of
addMonth()`的简写。