如何在 GMT 0 中将日期保存在 Laravel 中?
How to save date in Laravel in GMT 0?
如何在数据库的 GTM 0 中保存日期?
我的意思是:protected $dates = ['created_at'];
您可以通过转到 config/app.php 文件并更改以下行来更改应用程序的时区:
'timezone' => 'GMT'
如果您的日期仍保存在不同的时区,服务器日期时间可能需要更改为 GMT。这可以使用以下命令并按照说明完成:
dpkg-reconfigure tzdata
我个人建议 leaving/setting 在您的应用配置中将时区设置为 UTC 而不是 GMT:
https://www.timeanddate.com/time/gmt-utc-time.html
为了确保我的自定义日期字段存储正确,我在我的模型上使用了修饰符 class,如下所示:
public function setStartAtAttribute($date)
{
$timezone = (Auth::check() ? Auth::user()->profile->timezone : config('pgn.phoenix.timezone'));
$tzdate = Carbon::createFromFormat('d/m/Y H:i', $date, $timezone);
$this->attributes['start_at'] = $tzdate->timezone('UTC');
}
那也需要 use Carbon\Carbon;
添加到模型的顶部。
上面的配置参数设置为 'Europe/London' 并且是我们的客人显示日期的时区(适用于夏令时),同时不影响 'system' 时区。
如何在数据库的 GTM 0 中保存日期?
我的意思是:protected $dates = ['created_at'];
您可以通过转到 config/app.php 文件并更改以下行来更改应用程序的时区:
'timezone' => 'GMT'
如果您的日期仍保存在不同的时区,服务器日期时间可能需要更改为 GMT。这可以使用以下命令并按照说明完成:
dpkg-reconfigure tzdata
我个人建议 leaving/setting 在您的应用配置中将时区设置为 UTC 而不是 GMT: https://www.timeanddate.com/time/gmt-utc-time.html
为了确保我的自定义日期字段存储正确,我在我的模型上使用了修饰符 class,如下所示:
public function setStartAtAttribute($date)
{
$timezone = (Auth::check() ? Auth::user()->profile->timezone : config('pgn.phoenix.timezone'));
$tzdate = Carbon::createFromFormat('d/m/Y H:i', $date, $timezone);
$this->attributes['start_at'] = $tzdate->timezone('UTC');
}
那也需要 use Carbon\Carbon;
添加到模型的顶部。
上面的配置参数设置为 'Europe/London' 并且是我们的客人显示日期的时区(适用于夏令时),同时不影响 'system' 时区。