【问题标题】:dynamically set timezone for application php为应用程序php动态设置时区
【发布时间】:2014-05-31 11:13:27
【问题描述】:

我想为我的用户提供更改时区 (tmz) 的选项。
我正在使用 date_default_timezone_set($tmzName)
但这意味着我需要在每个页面/操作/ajax 调用中再次设置它,有没有办法
当用户更改它时为整个应用程序设置它?
如果有帮助,我正在使用 Yii。

【问题讨论】:

    标签: php date yii timezone


    【解决方案1】:

    您可以使用

    返回 Yii 应用程序的时区
    Yii::app()->timeZone;
    

    您可以将用户的首选时区保存在 db 或 CWebUser 状态并使用

    Yii::app()->timeZone = 'user_preferred_time_zone';
    

    您可以在您的登录方法中成功登录后使用它。

    http://www.yiiframework.com/doc/api/1.1/CApplication#timeZone-detail

    【讨论】:

      【解决方案2】:
      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/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-14
        • 2015-01-15
        相关资源
        最近更新 更多