JavaScript でタイムゾーンなしで日付を解析したいです。試したのは:
new Date(Date.parse("2005-07-08T00:00:00+0000"));
返された時刻Fri Jul 08 2005 02:00:00 GMT+0200
(中央ヨーロッパ夏時間):
new Date(Date.parse("2005-07-08 00:00:00 GMT+0000"));
同じ結果を返します。
new Date(Date.parse("2005-07-08 00:00:00 GMT-0000"));
同じ結果を返します。
時間を解析したい:
- タイムゾーンなし。
- コンストラクター
Date.UTC
や new を呼び出さずにDate(year, month, day)
。 - Date コンストラクターに文字列を渡すだけです (プロトタイプアプローチなし)。
文字列ではなく、Date オブジェクトを生成する必要があります。
ベストアンサー1
私も同じ問題を抱えていました。日付を文字列として取得します。たとえば、「2016-08-25T00:00:00」ですが、正しい時刻の Date オブジェクトが必要です。文字列をオブジェクトに変換するには、getTimezoneOffset を使用します。
var date = new Date('2016-08-25T00:00:00')
var userTimezoneOffset = date.getTimezoneOffset() * 60000;
new Date(date.getTime() + userTimezoneOffset);
getTimezoneOffset()
負の値または正の値を返します。世界中のあらゆる場所で機能させるには、これを減算する必要があります。