201x年最佳Web应用程序日期时间本地化实践

3

我曾经参与过多个Web项目,但正确的日期时间本地化并没有得到很好的考虑和处理,因此我想在这里问一个非常典型的问题,并听取专家对此的评论。

  1. 从客户端到服务器存储日期/时间值的正确策略是什么?

据我所知,由于区域设置和时区的原因,我们必须进行转换。我听说过GMT或UTC时间,并进行了一些搜索,看起来UTC更准确?因此,当我们保存时,将从客户端时间转换为UTC+0,当我们从服务器读取值到客户端时,再将其从服务器时间转换回客户端时间? 然而,我在一些网站上看到,在底部有句话“所有时间均为UTC”,“所有时间均为GMT”,还有“所有时间均为您的本地时间”。因此,可能并不是所有网站都进行前后转换?在这种情况下,用户必须手动进行日期/时间转换吗?

  1. 如何根据用户的区域设置和地区方便地显示日期/时间?

如何在日期/时间值上提供个性化服务?我曾经使用VBScript进行显示,并自动从Windows区域和格式设置中读取格式。但是,如果没有VBScript,我们如何确定特定区域设置的用户的日期/时间格式?我们是否必须在某个地方存储区域设置与格式之间的映射,并在服务器端进行转换?

  1. 尽管大多数情况下需要进行日期/时间转换,但有些情况只有日期很重要,例如如果我的生日是1980年2月2日,则对于所有区域设置应该是相同的,不应进行转换。我们如何解决这个问题。

有人能给我一个提示吗? - Hieu Lam
但是如果没有VBScript,我们如何确定特定语言环境用户的日期/时间模式呢?您可以使用JavaScript的(new Date).getTimezoneOffset()为用户设置默认时区,但应允许用户更改它。 - shesek
在大多数实际情况下,GMT和UTC是相同的。 - John Carter
1个回答

3

将日期存储为UTC时间,这样做总是更好的。在向用户显示时,将其转换为本地时间并进行显示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接