我发现之前在StackOverflow和手册DateTime::diff()
中都声称过这个问题。另外,我做了一个简短的片段,显示了三天的结果差异。
我讨厌我使用它这么久,甚至不知道这个问题存在。我猜最简单的解决方案是添加第二个参数作为new DateTimeZone('UTC')
每次声明'new DateTime()`。但这太愚蠢了,为了正常工作,我需要使用越来越多的代码,我仍然不确定它是否能在每个日期都正常工作。
现在我开始使用 Laravel 进行冒险,并且开始使用Carbon
. 但我很犹豫,因为我不确定它是否能解决DateTime::diff()
问题。我不熟悉碳的内部结构。我做的每一个测试都很好,但也许我错过了一些东西,很快我会再次得到不合适的结果?
为每次设置一个时区UTC
可能会再次防止任何错误,但如果可能的话,我想避免冗余代码。也许Carbon
太棒了,它解决了这个问题,在这种情况下我不必太在意意外的结果。
所以问题是:是碳固定DateTime::diff()
问题吗?