如何维护时区

时间:2016-12-30 20:36:32

标签: javascript node.js mongodb nodes

我的客户在美国的印度和服务器。如果用户从印度提交他的帖子,它将被存储在美国服务器中,所以当我向用户显示帖子提交时间时,它是按照美国时间。我想按客户时区显示它

2 个答案:

答案 0 :(得分:2)

处理时区的最简单方法是在幕后使用Epoch time,并在渲染时(或使用客户端代码)将其转换为用户的首选时区。

大纪元时间是自1970年1月1日伦敦以来的秒数。例如,现在时间是1483130714.这意味着我们有一个简单的数字,可以毫不费力地进行比较和排序,以表示精确的时刻,而无需关心日期,时区,区域设置和令人沮丧的细节。实际上,流行使用的所有语言都能够将这些数字解析为它们自己的时间戳值。在JavaScript中,您可以使用new Date(1483130714)执行此操作。您将获得一个日期对象,然后您可以随心所欲地呈现该对象(例如,使用toLocaleString)。

如果您不使用Epoch时间,那么您希望使用UTC,这是次佳选择。重要的是以一致的普遍理解的格式存储,然后根据需要将其翻译为用户的首选形式。

答案 1 :(得分:1)

您需要以UTC格式存储日期,然后根据浏览器文化和时区进行转换。因此,以UTC格式存储所有日期,根据浏览器文化,您可以添加偏移量,如果用户设置了错误的文化和时间,这可能会非常棘手。