【问题标题】:Codeigniter 3 - how to display date and times in user's time zoneCodeigniter 3 - 如何在用户的时区显示日期和时间
【发布时间】:2019-04-12 07:25:04
【问题描述】:

我使用 codeigniters 的 timezone_menu()。我在我的数据库中存储了一个timezone reference

时区参考类似于 UM12、UM11、UM10、UTC、UP1、UP2 等。

使用timezones(),我可以获得与 UTC 的小时差。我想要做的是用 date_default_timezone_set('UTC'); 设置用户的时区。但该方法不接受 CI 使用的时区引用。请问我该怎么做?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    好的,所以在 config/config.php 中有一个 time_zone 变量

    $timezone = session_value ?? dfault_value;
    

    一旦用户登录到您的系统分配时间值并将该变量引用到配置中或创建一个钩子,对不起,我有点着急我正在搜索其他东西,但我认为这肯定会工作。

    【讨论】:

      【解决方案2】:

      CodeIgniter TimeZone 函数使用custom naming 作为其时区:UM12UM11UM10UTCUP1...

      这些并不常见,因此仅适用于 CodeIgniter 自己的 TimeZone 函数,即 timezone_menu()timezones()

      PHP 函数 date_default_timezone_set() 需要一个 proper TimeZone identifier,如 Europe/Paris

      最好的方法是使用其他东西来生成您的时区列表。但我理解您对使用 CI 的内部库的兴趣,而不是寻找另一个库来为您执行此操作。

      所以我想您需要搜索一个函数,该函数采用 CI 的 TimeZone 标识符并输出 PHP 的 TimeZone 标识符。 This SO answer 似乎有你要找的东西。

      【讨论】:

        猜你喜欢
        • 2018-01-14
        • 2011-02-28
        • 1970-01-01
        • 2010-12-22
        • 2013-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多