在yii2中设置动态时区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在yii2中设置动态时区相关的知识,希望对你有一定的参考价值。

有谁知道如何为每个用户设置动态时区?如果时区存储在数据库中,我如何从db获取它并在运行时设置它以便我不需要每次在我的代码中设置它?

答案

这是一个例子,假设时区在timezone表的users列中存储为字符串。将此添加到您的应用程序配置:

'on beforeRequest' => function () {        
    $user = Yii::$app->user->identity;
    if ($user && $user->timezone) {
        Yii::$app->setTimeZone($user->timezone);
    }
},

此代码将在请求之前运行,并根据特定用户设置时区。当然你可以将它移到单独的类并从这里调用它。

官方文档:

以上是关于在yii2中设置动态时区的主要内容,如果未能解决你的问题,请参考以下文章

如何在 yii2 中动态显示 pageSize?

PHP中设置时区方法小结

在片段中设置文本颜色

如何在 select2 yii2 中设置选定值或默认值?

在 yii2 的 select2 下拉菜单中设置默认值

如何在流明 5.2 中设置时区?