1

我正在开发一个新的网络应用程序,它将在许多国家和时区使用。关于这个问题存在疑问,但没有达成共识。

我将所有时间记录存储在 UTC 中。所以问题是打印。我正在使用 PHP 进行开发,所以我知道 PHP 看不到本地时区。这给了我们一些选择:

  1. 按原样打印并在客户端进行更改。
  2. 第一次告诉时区的 Javascript 技巧,服务器从那时起记住它。
  3. 从IP定位。我们对此有多大把握?
  4. 告诉用户选择时区,这是最简单和最丑陋的方式。UX,请!

任何选择都有优点和缺点。我想阅读您的选择以及您知道的任何信息或有关此主题的想法。其他人如何做到这一点,提示等。任何答案表示赞赏。

谢谢你。

4

2 回答 2

2

按原样打印并在客户端进行更改。

我在这方面有很好的经验。

我使用日期时间微格式标记我的日期

<abbr class="dtstart" title="2012-08-15T12:00:00.00Z">2012-08-15 at noon</abbr>

然后有一些javascript可以找到所有这些并重新格式化它们。

于 2012-08-19T01:27:36.050 回答
1

最好的方法是上述的组合。

从一开始就使用选项 2。假设他们的 PC 设置在正确的时间,它应该会在紧要关头为您提供正确的数据。但是,选项 3,允许用户确认确实是必须的。当用户创建帐户时,让他们选择他们的时区并向他们显示他们选择的时间。这将更加准确,更少依赖 javascript(许多人将其关闭),并且一些用户可能希望在与他们当前所处的时区不同的时区中查看数据 - 例如旅行推销员?

改变它的客户端并不是很好 - 并且再次需要可能不可靠的javascript。从 IP 获取时区可能会很痛苦,而且不可靠,并且很容易通过上述建议克服。

于 2012-08-19T01:23:10.777 回答