我正在从事一个项目,在该项目中,具有不同时区的多个用户的时间精度极其重要。
我知道要存储的时区的最准确表示是其标识符(例如"欧洲/布达佩斯")
但是使用"DateTimeZone::listAbstrations()"one_answers"DateTimeZone::listIdentifiers()",我得到了408个时区(城市),这对于在选择框中使用来说不是很友好。
为了让它对用户更友好,我需要将它们放在一组时区中,在这些时区中,它们共享相同的偏移量和夏令时。
我不能根据"偏移"对它们进行分组,因为它们会随着夏令时或"时区缩写"(如AST)的变化而变化,后者可能包含多个偏移的元素。
我看到的网站也对时间非常敏感,但它们以非常用户友好的方式分组提供时区选择,我想知道它们是如何分组的,还是为了用户友好而牺牲准确性?。
有没有一种我不知道的方法可以做到这一点?
"best"是非常主观的,但我在下拉列表中看到过很多不同的方式,它们都很容易混淆。
我的建议是考虑使用基于地图的时区选择器。用户不需要知道任何关于时区的信息,只需点击地图上的位置即可。
有几种可用的控件,但我最喜欢的是这个控件,它主要是JavaScript。它应该非常适合基于PHP的解决方案。