如何在laravel中设置本地时区

时间:2015-07-17 11:41:44

标签: php laravel laravel-4 timezone laravel-5

有没有办法在laravel中设置本地时区?

config / app.php

'timezone' => 'UTC',
  • 应该添加什么以便上面的时区值使用本地时区?

经过一番研究,偶然发现了以下PHP处理方法:

$userTimezone = Auth::user()->timezone;

date_default_timezone_set($userTimezone);

// and change the configuration so they match

Config::set('app.timezone', $userTimezone)

但是,除了使用上面的代码转换时区之外,还有一个优雅的解决方案。

干杯

1 个答案:

答案 0 :(得分:13)

不要这样做。切勿将全局Laravel时区设置为用户的时区。你将面临无穷无尽的问题。

选择应用程序时区,将Laravel配置设置为该时区,永远不要更改。

相反,当您需要在用户的时区中显示日期时,请执行类似

的操作
User::find(1)->foobazed_at->timezone(Auth::user()->timezone);

要控制哪些模型列自动转换为Carbon\Carbon个实例,请将以下方法添加到模型文件中:

public function getDates()
{
    return array('foobazed_at', static::CREATED_AT, static::UPDATED_AT, static::DELETED_AT);
}