在 yii2 中设置动态时区
Setting a dynamic timezone in yii2
有谁知道如何为每个用户设置动态时区?
如果时区存储在数据库中,我如何从数据库中获取它并在运行时设置它,这样我就不需要每次都在我的代码中设置它?
这是一个示例,假设时区作为字符串存储在 users
table 的 timezone
列中。将此添加到您的应用程序配置中:
'on beforeRequest' => function () {
$user = Yii::$app->user->identity;
if ($user && $user->timezone) {
Yii::$app->setTimeZone($user->timezone);
}
},
此代码将 运行 在请求之前根据特定用户设置时区。当然你可以把它移到单独的 class 并从这里调用它。
官方文档:
有谁知道如何为每个用户设置动态时区? 如果时区存储在数据库中,我如何从数据库中获取它并在运行时设置它,这样我就不需要每次都在我的代码中设置它?
这是一个示例,假设时区作为字符串存储在 users
table 的 timezone
列中。将此添加到您的应用程序配置中:
'on beforeRequest' => function () {
$user = Yii::$app->user->identity;
if ($user && $user->timezone) {
Yii::$app->setTimeZone($user->timezone);
}
},
此代码将 运行 在请求之前根据特定用户设置时区。当然你可以把它移到单独的 class 并从这里调用它。
官方文档: