Laravel 5根据用户设置设置时区

时间:2017-09-11 15:53:20

标签: php date datetime laravel-5

我有一个具有时区列的用户表。

我想根据用户设置设置所有控制器功能时区。所以,当他登录时,所有的,

实施例。 Chatmessage ::其中(....) - >获得();

created_at * edited_at将被更改。我只希望改变GET。不是POST

我已经尝试Config::set('app.timezone', Auth::user()->timezone);它不起作用,它仍然使用了Laravel app/config.php

2 个答案:

答案 0 :(得分:1)

可能不是一个干净的解决方案,但这应该工作而不是配置集。

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_esensor); try{ ESSensorManager sm = ESSensorManager.getSensorManager(getApplicationContext()); }catch (Exception e){ e.printStackTrace(); } }

答案 1 :(得分:0)

我在我的模型上添加了这个,我认为这是唯一的方法。

public function getCreatedAtAttribute($value)
{
    if(Auth::user()) {
        $date = Carbon::createFromFormat('Y-m-d H:i:s', $value);
        $date->setTimezone(Auth::user()->timezone ?: "UTC");

        return $date->toDateTimeString();
    } else {
        return $value;
    }
}