【问题标题】:Laravel 7- Carbon return ever time as UTCLaravel 7-Carbon 以 UTC 的形式返回
【发布时间】:2020-10-26 17:12:15
【问题描述】:

这是一个真正的陌生人,当用 Carbon 返回当前时间时,这对我来说是作为 UTC 返回的。 我不明白为什么我将所有内容都配置为欧洲/马德里。

例子:

return Carbon::now() 
The result is 2020-07-06 14:30:00

但是:

dd(Carbon::now())

The result is 2020-07-06 16:30:00

我不明白为什么。

我的文件 app.php

'timezone' => 'Europe/Madrid',

当加载模型时,例如用户

$user = User::find(1);

created_at 和 updated_at 返回

2020-06-07 14:35:00

但在数据库中保存的值是

2020-06-07 16:35:00

【问题讨论】:

标签: laravel


【解决方案1】:

Carbon 使用默认的 DateTime PHP 对象。 您可以将自定义时区设置为:

$date = Carbon::createFromFormat('Y-m-d H:i:s', $tz, 'Europe/Madrid');

AppServiceProvider.php 中,您可以添加 php 功能来更改整个项目的时间戳:

public function boot()
{
    Schema::defaultStringLength(191);
    date_default_timezone_set('Europe/Madrid');
}

【讨论】:

  • 结果一样,加上date_default_timezone_set('Europe/Madrid');
猜你喜欢
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
  • 2016-10-30
  • 2017-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多