JSON Stringify は UTC のため日付の時刻を変更します 質問する

JSON Stringify は UTC のため日付の時刻を変更します 質問する

私のJavaScriptの日付オブジェクトは、私がいる場所のせいで常にUTC +2で表されます。したがって、次のようになります

Mon Sep 28 10:00:00 UTC+0200 2009

問題はJSON.stringify上記の日付を

2009-09-28T08:00:00Z  (notice 2 hours missing i.e. 8 instead of 10)

私が必要としているのは、日付と時刻が尊重されることですが、そうではありません。

2009-09-28T10:00:00Z  (this is how it should be)

基本的に私はこれを使います:

var jsonData = JSON.stringify(jsonObject);

replacer パラメータ (stringify の 2 番目のパラメータ) を渡そうとしましたが、問題は値がすでに処理されていることです。

また、日付オブジェクトでtoString()と を使用することも試みましたが、これらでも必要な結果は得られませんでした。toUTCString()

誰か助けてくれませんか?

ベストアンサー1

最近、同じ問題に遭遇しました。そして、次のコードを使用して解決しました。

x = new Date();
let hoursDiff = x.getHours() - x.getTimezoneOffset() / 60;
let minutesDiff = (x.getHours() - x.getTimezoneOffset()) % 60;
x.setHours(hoursDiff);
x.setMinutes(minutesDiff);

おすすめ記事