2017-01-11 6 views
2

この投稿の時点で現在の時刻は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); 

私はこれを行うより良い方法を好むでしょう。 I tried using this.私はまだ同じ時間を持っています。私のコードの他の部分では、Tue Jan 10 2017 19:54:30 GMT-0500 (EST)が最初の時刻と異なっています。誰かが何が間違っているのかを指摘できるなら、私は幸せになれます。

+0

たぶん、あなたの応答をありがとう@aggaton .toLocaleString()または新しい日付のようなもの(として、Date.UTC(年、月、日、時、分、秒)) – aggaton

+0

を試してみてください。私は 'new Date()。toLocaleString(); 'を使用し、私は' 1/10/2017、8:20:30 PM 'を得ました。私は 'TZ'形式の時が好きです。しかし '新しい日付(として、Date.UTC(年、月、日、時、分、秒))' '年の誤差を与えたが – Ekom

+0

あのをdefined'されていない、あなたのポストの時間は' 2017年1月11日00: 56:01Z'。あなたが1時間半をどこに失ったのか分かりませんか? – Bergi

答えて

0

で源泉することができ、正しいタイムゾーンにdate.timezoneで設定することができますが実現する最も簡単な方法です。何を求めているのですか?

moment().format() // "2017-01-11T13:56:15-05:00" 

出力は、ISO-8601形式の文字列で、ローカルタイムゾーンでタイムゾーンオフセットが有効です。

あなた自身は、これらの値から文字列を構築し、Dateオブジェクトの各種プロパティを読み取るコードの多くでこれを行うことができます。しかし、このようにオブジェクトはDateに組み込まれていません。

また、Dateオブジェクトをタイムゾーンオフセットで調整しようとすると、別の時点を選択するだけです。実際には、Dateオブジェクトで使用されているタイムゾーンの動作が変更されていません。

+0

ありがとうございました。私はmoment.jsを使用すると思います。 – Ekom

-5

あなたのphp.iniへのアクセス権を持っている場合は、有効なタイムゾーンの完全なリストはmoment.jsを使用しphp.net/manual/timezones.php

+0

この質問はPHPとは関係ありませんか? – Bergi

関連する問題