【问题标题】:When filtering search results by date, should time zone be crtieria for the date?按日期过滤搜索结果时,时区是否应该是日期的标准?
【发布时间】:2011-06-21 00:43:01
【问题描述】:
我们有一个网站,其中包含大量事件,这些事件的日期和时间由管理员创建。管理员为输入的每个日期时间选择一个时区,并以 UTC 时间存储。我们正在努力支持全球观众,并在日期方面完全本地化。
我们有一个搜索页面,允许输入日期作为搜索条件。
所以用户可以说,显示“2011 年 7 月 1 日上午 12:01”和“2011 年 7 月 10 日晚上 11:59”之间的所有事件。
我试图找出最好的方法是确定在哪个时区考虑日期过滤条件。
- 强制最终用户在创建日期过滤器时选择时区。这很麻烦,我们的设计师会反击。这是我更喜欢的。
- 假设输入的日期在用户“首选”时区,该时区在登录时设置。
- 以当地时间存储时间,而不转换为 UTC。这样,最终用户在管理员创建的日期中进行搜索。我讨厌这个想法,我需要帮助解释为什么这是不好的。
请帮忙!
【问题讨论】:
标签:
datetime
localization
usability
【解决方案1】:
第二个选项可能解决您的问题。它可能是最好的。
您可能可以从网络浏览器(使用 JavaScript)获取当前时区偏移量,但问题是,某些时区当前具有相同的偏移量,但夏令时在不同日期切换,因此搜索结果会不准确。通过让用户选择他/她喜欢的时区并将该信息存储在配置文件中,您可以始终提供正确的日期和时间,并使用此信息进行搜索。但是,我会在搜索框附近添加一个信息,以便最终用户知道这是指哪个时区(使用 JavaScript 时很明显:当前时区,用户可能忘记了配置文件)。
顺便提一句。时区信息最好显示为“UTC+02:00(华沙、萨格勒布、斯科普里)”而不是“中欧时间”...
至于其他选项:
1、点击次数过多。以及“不要让我思考,我想在我当地的时区拥有它,这不是很明显吗?”。
3. 当地时间不能相互比较。您很快就会得到两个指向同一时间点的不同日期(至少在数字方面)。真是个坏主意。