在PHP中以组的形式存储用户时区的最佳方法是什么?

时间:2013-06-27 02:12:03

标签: php date timezone

我正在开展一个项目,其中具有不同时区的多个用户的时间精度非常重要。

我知道存储的时区最准确的表示形式是其标识符(例如“Europe / Budapest”)

但是使用“DateTimeZone :: listAbbreviations()”和“DateTimeZone :: listIdentifiers()”,我得到了408个时区(城市),这对于在选择框中使用不是非常用户友好。

为了使用户更友好,我需要将它们放在时区组中,它们共享相同的偏移量和夏令时。

我无法根据“偏移”对它们进行分组,因为它们会随着夏令时变化,或者“时区缩写”(例如AST)可能包含多个偏移的元素。

我看到的网站也非常时间敏感,但是它们提供的时区选择非常用户友好,我想知道他们如何对它们进行分组,或者为了用户友好性而牺牲准确性?

有没有办法做到这一点,我不知道?

1 个答案:

答案 0 :(得分:1)

嗯,“最好”是非常主观的,但我已经在下拉列表中看到了这么多不同的方式,而且它们都会让人感到困惑。

我的建议是考虑使用基于地图的时区选择器。用户无需了解任何有关时区的信息,只需在地图上点击他们的位置即可。

有几个可用,但我最喜欢的网络是this control,主要是JavaScript。它应该适合基于PHP的解决方案。