Laravel Carbon:为什么 now() 正好提前 1 天?

Laravel Carbon: Why is now() exactly 1 day ahead?

我在播种机中使用它:

'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),

得到正确的date/time,但正好提前 1 天。

我试过:

Carbon::now(new DateTimeZone('America/Chicago')),

在我的种子文件中,它似乎有效。但是,当我从控制器插入记录时,日期不正确。

我正在使用 $table->timestamps(); 创建列 - 是否有可以输入正确时区的配置设置?或者,我还有什么地方做错了吗?

默认情况下 Laravel 使用 'timezone' => 'UTC', 而您的原始时区 America\Chicago'timezone' => 'UTC-06:00'

如果您希望您的时区固定为 America/Chicago,请将您的时区设置为

'timezone' => 'America/Chicago'

config/app.php 文件中。

如果您想将其设置为 运行 时间,您可以通过以下方式完成:

config(['app.timezone' => 'America/Chicago'])