Javascript日期时间与不同的区域设置不同

时间:2013-06-05 14:33:08

标签: javascript datetime locale

从服务器向javascript发送时间长的类型。 Javascript日期函数根据用户区域设置将其转换为日期。我们不希望这样。我们希望将其设置为来自服务器的日期。

例如;我们从服务器发送2013-06-05 17:00:00,在客户端,它在用户浏览器上显示为2013-06-05 15:00:00。我想展示来自服务器的内容。我该如何纠正这个问题?

1 个答案:

答案 0 :(得分:0)

您描述的行为在JavaScript中很常见。

有两种方法可以解决这个问题:

选项1

从您的服务器发送UTC时间。您可以将其作为整数发送,也可以作为带有Z偏移量的ISO8601字符串发送。在JavaScript中,始终时间显示该值。

选项2

从服务器发送ISO8601格式的日期/时间字符串。使用未指定的区域偏移( Z值或偏移量(例如-04:00)发送它。在客户端上解析该值,可以使用支持ISO8601格式的现代浏览器,也可以使用moment.js等库。

由于您未在问题中提供任何代码示例,因此我不打算在我的回答中提供任何代码,或进一步详细说明。如果您想更新您的问题以准确显示您正在做什么,您尝试了什么以及哪些不起作用,那么我将很乐意删除此段落并向您展示可以实现这些选项之一的代码。如果你做一些研究并在代码中解释你的发现,你会发现你在StackOverflow上得到了更好的结果。