この投稿の時点では、現在の時刻は_2017-01-10T19:23:00.000Z
_ですが、new Date()
は現在のタイムゾーンより5時間進んで_2017-01-11T00:23:19.521Z
_をくれます。これは、MongoDBにデータを保存する方法に影響します。私は時間を5時間前に設定できることを知っています
_var datetime = new Date();
datetime.setHours(datetime.getHours()-5);
_
しかし、私はこれを行うためのより良い方法を好みます。 これを使ってみました。 まだ同じ時間です。コードの他の部分では、最初とはTue Jan 10 2017 19:54:30 GMT-0500 (EST)
が異なります。ここで何が悪いのか誰かが指摘できれば私は幸せです。
moment.js を使用することは、あなたが求めていることを達成する最も簡単な方法です。
moment().format() // "2017-01-11T13:56:15-05:00"
出力はISO-8601形式の文字列で、ローカルタイムゾーンでのタイムゾーンオフセットが有効です。
Date
オブジェクトのさまざまなプロパティを読み取り、それらの値から文字列を構築する多くのコードを使用して、自分でこれを行うことができます。ただし、この方法ではDate
オブジェクトに組み込まれていません。
また、タイムゾーンのオフセットによってDate
オブジェクトを調整しようとするときはいつでも、単に別の時点を選択していることに注意してください。 Dateオブジェクトで使用されているタイムゾーンの動作を実際に変更しているわけではありません。
外部JSファイルを使用したくない場合は、次のコードを使用して現在のタイムゾーンを取得できます。
new Date().toString();