当然是一些微不足道的事情,但我被困住了!
我有一个像这样初始化的开始日期:
$startDate = Carbon::createFromFormat('Y-m-d H:i', '2024-02-01 08:00');
我在此日期上添加天数以获得结束日期:
$qtyDays = 25;
$endDate = $startDate->addDays($qtyDays);
我不明白的是,结束日期计算是否正确。 但是开始日期包含结束日期。
如何不触及开始日期?尽管我读了 Carbon 文档,但我不明白发生了什么。
实际上它与Carbon本身无关,因为Carbon只是PHP DateTime类的包装器,只要PHP有DateTime和DateTimeImmutable,Carbon也有两者的包装器。:
该类的行为与 DateTimeImmutable 相同,只是当调用 DateTime::modify() 等修改方法时对象会被修改。
所以你可以使用
CarbonImmutable
,例如:
$startDate = CarbonImmutable::createFromFormat('Y-m-d H:i', '2024-02-01 08:00');
$qtyDays = 25;
$endDate = $startDate->addDays($qtyDays);