显示时间
2003 年 12 月 4 日星期四(下午 3:03 GMT)
D. Keith Robinson 最近提出了关于在 Web 上表示日期的问题,Simon Willison 对此进行了跟进。但如何表示特定的*时间*呢?
问题在于,当你显示时间时,它只对一个时区是正确的,而在其他 23 个时区则是不准确的。当然,这是由于 Web 的国际化特性。如果我在我的伦敦时间下午 5 点在网上发表评论,那么在纽约将是中午 12 点,在悉尼将是次日凌晨 4 点!
有“协调世界时”(UTC),它几乎与格林威治标准时间(零度经线的时间)相同。但这个时间对英国、葡萄牙、冈比亚和其他同属该时区国家以外的大多数人来说几乎没有意义。就像美国东部标准时间对那些不与美国东部共享时区的人们来说意义不大一样。《A List Apart》上的讨论论坛上的时间,就是一个流行的例子,它们本身并没有太多意义。
我们生活中大多数事情都是相当民族化的,所以国际化可能很容易被忽视。如果你要显示时间,至少应该说明是从谁的角度来看待这个时间,并附带“GMT”或“EST”之类的描述。
这里有一个想法——如果你动态计算某个事件发生的时间(就像 Simon Willison 在他的网站上所做的那样),然后从用户计算机时钟上的时间中减去这个时间,那么从用户的角度来看,这将是该事件的正确时间。
评论
评论2
这是我关于时间的问题:我不断接到来自世界各地的朋友和亲戚打来的电话,时间都很奇怪。你有没有一个简单的代码可以在我的网站上显示我的本地时间(我有一个托管在东海岸的 Unix 服务器,但我人在西海岸)。
(实际上,我在谷歌上搜索时,你的博客出现了)。
Tony 于 2004 年 6 月 25 日星期五上午 5:06 GMT 说。

评论1
我喜欢 Hixie 的解决方案:他在源文件中用 UTC 表示时间,然后使用 JavaScript(通过 XBL 绑定,原因我不太明白)将这些时间转换为本地时间。在他的 CSS 中
h3 [rel="bookmark"] {
width: 12em;
position: absolute;
left: -13.5em;
top: 0;
font-size: 0.75em;
text-transform: lowercase;
font-variant: small-caps;
text-align: right;
-moz-binding: url(/resources/bindings/timezone.xml#timezone);
}
代码在 http://ln.hixie.ch/resources/bindings/timezone.xml
Jan!于 2003 年 12 月 4 日星期四下午 3:27 GMT 说。