Codeigniter 3-如何在用户的时区中显示日期和时间

时间:2019-04-12 07:25:04

标签: php codeigniter

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

时区参考看起来像UM12,UM11,UM10,UTC,UP1,UP2等,等等。

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

2 个答案:

答案 0 :(得分:0)

好的,因此config / config.php中有一个time_zone变量

$timezone = session_value ?? dfault_value;

用户登录到系统后,分配时间值并将该变量引用到配置中或创建一个钩子,很抱歉,我不急于搜索其他内容,但是我认为这一定可以。

答案 1 :(得分:0)

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

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

PHP函数date_default_timezone_set()需要proper TimeZone identifier之类的Europe/Paris

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

所以我想您需要搜索一个采用CI的TimeZone标识符并输出PHP的TimeZone标识符的函数。 This SO answer似乎满足您的需求。