タイムゾーンなしで日付を解析するJavaScript 質問する

タイムゾーンなしで日付を解析するJavaScript 質問する

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"));

同じ結果を返します。

時間を解析したい:

  1. タイムゾーンなし。
  2. コンストラクターDate.UTCや new を呼び出さずにDate(year, month, day)
  3. 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()負の値または正の値を返します。世界中のあらゆる場所で機能させるには、これを減算する必要があります。

おすすめ記事