向用户提供可选时区的好方法是什么?

时间:2015-08-18 08:52:36

标签: php user-interface datetime timezone user-experience

是否真的有必要允许用户从PHP的timezone_identifiers_list()返回的任何时区中进行选择?有大量的时区,由于有多少选项,HTML下拉菜单在某些系统上相当滞后。我知道我可以手工生成美国的常用时区,如太平洋,东部,中部等。但是有一个常用的国际时区列表吗?通常,我的意思是如果我使用该列表,那么它将占据我国际用户群的99.9%。将每个可能的时区都包含在用户的选项中似乎有些过分。有没有人对时区的最佳实践有一些想法?

3 个答案:

答案 0 :(得分:1)

你可以用很多不同的方式做到这一点 我想说的最好的就是我们PHP的timezone_identifiers_list()
但不是制作下拉列表,而是制作两个下拉列表。

  1. 下拉列表应包含地区(欧洲,亚洲,印度等)
  2. 下拉列表应包含所选区域的城市。
  3. 然后你应该在城市中搜索一个可搜索的字段,这样一个人就可以写出一些城市名称,它只显示城市,包括该人所写的内容。 (as @dam660 suggested Chosen is a good choice here
    通过这种方式,您可以覆盖所有时区,看起来并不是一团糟。

答案 1 :(得分:1)

  

是否真的有必要允许用户从PHP的timezone_identifiers_list()返回的任何时区中选择?

不,为什么用户不得不为此烦恼?处理不同时区的一种做法是将所有内容作为unix时间戳存储在数据库中。然后,当您显示它时,使用一些javascript将其转换为用户的时区相关日期和时间。

答案 2 :(得分:0)

  

如果我使用该列表,那么它将占据我国际用户群的99.9%

您知道99.9%的国际用户群来自哪里吗?然后你可以自己组装这个列表。

或者您可以根据其他信息建议时区,例如用户的城市或国家/地区。您可以尝试使用GeoIP来确定他的位置(但要小心代理)。

将列表拆分为两个列表(大陆和位置),根据建议进行预选。