Laravel - 碳未计入夏令时

Laravel - Carbon Not Factoring in Daylight Savings Time

我在 Laravel 中使用 Carbon 来处理日期。我很快意识到 PHP 的本地副本设置为 UTC,因此在我的代码中我将时区设置为 Carbon:

$dt = Carbon::now('America/New_York');

奇怪的是,它仍然吐出一个比纽约时间晚一小时的日期:

echo $dt;

产量:

2017-07-25 16:29:37

但目前是5:29pm

好像是休息了一个小时,因为它没有考虑夏令时。我在 Whosebug 或 Google 上找不到任何与 Carbon 中的夏令时相关的内容,我读到的所有内容都只是说,如果您正确设置时区,它将自行计算夏令时。

删除您使用 Carbon 设置时区的位置。

里面config/app.php有一行:

'timezone' => ''

设置为:

'timezone' => 'America/New_York'

它将为您的应用设置默认时区。设置后,您将获得 DST 调整后的纽约时间。