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'])
我在播种机中使用它:
'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'])