1

我有一个网站,使用 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 日而不是 2013 年 9 月 21 日。在我的本地机器上运行服务器时,这从来都不是问题。目前服务器正在 AWS 上运行,所以我假设这在某种程度上弄乱了日期?但我不明白如何在字符串中指定的日期前一天设置 client_date 变量,而不管小时-分钟-秒。如何格式化我的日期来解决这个问题?谢谢!

4

1 回答 1

2

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

于 2013-09-26T00:38:35.813 回答