我正在开发一款新的网络应用程序,它将在许多国家和时区使用。关于这个问题有一些问题,但没有达成共识。
我将所有时间记录存储在UTC中。所以问题出在打印上。我是用PHP开发的,所以我知道PHP看不到本地时区。这给了我们一些选择:
- 按原样打印并在客户端更改
- 第一次告诉时区的Javascript技巧,服务器会记住它
- 从IP定位。我们有多确定
- 告诉用户选择时区,这是最简单和最丑陋的方式UX,请
任何选择都有利弊。我想阅读你的选择,以及你对这个话题的任何了解或想法。其他人是如何做到这一点的,提示等。任何答案都会受到赞赏。
谢谢。
按原样打印并在客户端更改。
我在这方面有很好的经验。
我使用日期-时间微格式标记我的日期
<abbr class="dtstart" title="2012-08-15T12:00:00.00Z">2012-08-15 at noon</abbr>
然后有一些javascript,它可以找到所有这些并重新格式化它们。
最好的方法是将上述方法结合起来。
从一开始就使用选项2。假设他们的电脑设置在正确的时间,它应该会在紧要关头为你提供正确的数据。然而,选项3,允许用户确认真的是必须。当用户创建帐户时,让他们选择时区并向他们显示他们选择的时间。这将更加准确,更少地依赖javascript(许多人会关闭它),一些用户可能很想在与他们当前所在时区不同的时区查看数据——例如,旅行推销员?
改变它的客户端并不是很好,而且还需要javascript,这可能是不可靠的。从IP获取时区可能是一件痛苦的事情,也不可靠,而且很容易被上面的建议所克服。