1

JSON.stringify() を使用してサーバーとの間で日付を送受信する Web サイトがあります。クライアントがコメントを書き込むと、次のような日付文字列とともにサーバーに送信されます。

"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 月 21 日ではなく 2013 年 9 月 20 日に設定されます。私のローカルマシンでサーバーを実行しているとき、これは決して問題ではありませんでした. 現在、サーバーは AWS で実行されているため、これが何らかの形で日付を台無しにしていると思いますか? しかし、時分秒に関係なく、文字列で指定された日付の 1 日前に client_date 変数がどのように設定されるのかわかりません。この問題を解決するために日付をフォーマットするにはどうすればよいですか? ありがとう!

4

1 に答える 1

2

Z協定世界時 (UTC) またはグリニッジ標準時 (GMT) を意味します。したがって、2013-09-21T00:00:00.000Zグリニッジにいるときでも、クライアントがいる場所までずっと 9 月 20 日です。

于 2013-09-26T00:38:35.813 に答える