【发布时间】:2014-05-31 11:13:27
【问题描述】:
我想为我的用户提供更改时区 (tmz) 的选项。
我正在使用 date_default_timezone_set($tmzName)
但这意味着我需要在每个页面/操作/ajax 调用中再次设置它,有没有办法
当用户更改它时为整个应用程序设置它?
如果有帮助,我正在使用 Yii。
【问题讨论】:
我想为我的用户提供更改时区 (tmz) 的选项。
我正在使用 date_default_timezone_set($tmzName)
但这意味着我需要在每个页面/操作/ajax 调用中再次设置它,有没有办法
当用户更改它时为整个应用程序设置它?
如果有帮助,我正在使用 Yii。
【问题讨论】:
您可以使用
返回 Yii 应用程序的时区Yii::app()->timeZone;
您可以将用户的首选时区保存在 db 或 CWebUser 状态并使用
Yii::app()->timeZone = 'user_preferred_time_zone';
您可以在您的登录方法中成功登录后使用它。
http://www.yiiframework.com/doc/api/1.1/CApplication#timeZone-detail
【讨论】:
Yii::app()->localtime->Locale = $user->locale->code; // eg 'en_gb'
Yii::app()->localtime->TimeZone = $user->timezone->name; // eg 'Europe/London'
详情:http://www.yiiframework.com/wiki/197/local-time-zones-and-locales/
【讨论】: