JavaScript Date()在时区之间出现故障?

时间:2013-09-26 00:06:13

标签: javascript date

我有一个网站,使用JSON.stringify()向服务器发送和从服务器发送日期。如果客户端编写注释,则会将其发送到服务器,并带有日期字符串,如下所示

"2013-09-21T04:00:00.000Z"

当服务器获取字符串时,我从字符串

创建一个新日期
var server_date = new Date("2013-09-21T04:00:00.000Z");

此日期变量存储在MongoDB中。但是当客户端重新加载页面时,客户端收到的日期字符串看起来像

"2013-09-21T00:00:00.000Z"

当我在客户端上使用此字符串创建新日期时

var client_date = new Date("2013-09-21T00:00:00.000Z");

日期对象不正确。不知何故,当我设置client_date时,日期设置为2013年9月20日而不是9/21/2013。在本地计算机上运行服务器时,这绝不是问题。目前服务器正在AWS上运行,所以我假设这是在某种程度上搞乱了日期?但我不明白如何在字符串中指定的日期前一天设置client_date变量,而不管hours-min-seconds。如何格式化日期以解决此问题?谢谢!

1 个答案:

答案 0 :(得分:2)

Z表示世界协调时间(UTC)或格林威治标准时间(GMT)。因此,当格林威治的2013-09-21T00:00:00.000Z时,它仍然是9月20日西部,一直到您的客户所在地。