Carbon:比较日期实例给出了意想不到的结果

Carbon: comparing date instances is giving unexpected result

这个问题快把我逼疯了。

这是我的 Carbon 实例:

$carbonTemp = CarbonImmutable::createFromFormat('Y-m-d', $date);

我想做的就是了解这里的日期是不是一周的最后一天

$carbonTemp->equalTo($carbonTemp->endOfWeek())

如果$date = '2021-08-08'是本周的最后一天,那么上面的结果一定是真的吧?

给我的是假的!!

尽管 $carbonTemp->endOfWeek()->format('Y-m-d') 给我的是“2021-08-08”。

那是因为您创建了 CarbonImmutable 对象,所以 endOfWeek 将不起作用。

创建一个正常的 Carbon 日期:

$carbonTemp = Carbon::createFromFormat('Y-m-d', $date);

endOfWeek() returns 一周的最后一天和时间 23:59:59.999999。因此创建日期时需要使用endOfDay()方法。

$carbonTemp = CarbonImmutable::createFromFormat('Y-m-d', $date)->endOfDay();