JavaScript でタイムゾーンを指定しない日付を解析する
JavaScript でタイムゾーンを指定しない日付を解析するのは困難な場合があります。 Date.parse() 関数はローカル タイム ゾーンを想定しているため、ユーザーの現在位置によっては不正確な結果が生じる可能性があります。
問題:
問題を説明するにはでは、タイム ゾーンなしで日付を解析する次の試行を考えてみましょう:
<code class="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")); // Fri Jul 08 2005 02:00:00 GMT+0200 new Date(Date.parse("2005-07-08 00:00:00 GMT-0000")); // Fri Jul 08 2005 02:00:00 GMT+0200</code>
指定されたタイム ゾーンに関係なく、すべての試行は同じ結果を返します。
解決策:
タイムゾーンなしで日付を解析するには、次の手順を使用できます:
<code class="javascript">var date = new Date('2016-08-25T00:00:00') var userTimezoneOffset = date.getTimezoneOffset() * 60000; var parsedDate = new Date(date.getTime() + userTimezoneOffset);</code>
getTimezoneOffset() 関数は正または負の値を返します。これを確実に減算するには、この値を減算する必要があります。日付は正確に調整されます。
以上がタイムゾーンを使用せずにJavaScriptで日付を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。