DateTimeZone :: __ construct():未知或错误的时区(AEDT)

时间:2017-02-17 09:15:52

标签: php timezone

我从API接收用户的时区,但在将该字符串发送到AEDT构造函数时,如果值为AESTAEDT,则会失败}。

我已经检查了我的timezonedb版本并将其更新为" Olson" 2016.10版本,但问题仍然存在。

根据ViewHolder发行说明,AESTfirewall-cmd --permanent --new-zone dockerc firewall-cmd --permanent --zone dockerc --add-source 172.17.0.0/16 firewall-cmd --permanent --zone dockerc --add-port 8443/tcp firewall-cmd --permanent --zone dockerc --add-port 53/udp 应该是有效的时区。

任何方式我都可以使这两个缩写起作用吗?看到我从外部API接收它们,我无法在它无效的情况下对其进行更改,除非有丑陋的黑客攻击:)

1 个答案:

答案 0 :(得分:0)

我解决了这个问题已经有一段时间了,不过我确实记得它是PHP或timezonedb中的一个错误。

执行$date = new DateTime('2000-01-01', new DateTimeZone('Australia/Sydney'));并获取$date的时区会导致AEDT,然后又被PHP识别为有效时区。

我最终做的是将PHP升级到更新版本。