タイムゾーンを使用せずにJavaScriptで日付を解析するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-25 22:28:45
オリジナル
922 人が閲覧しました

How to Parse Dates in JavaScript Without a Time Zone?

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>
ログイン後にコピー

指定されたタイム ゾーンに関係なく、すべての試行は同じ結果を返します。

解決策:

タイムゾーンなしで日付を解析するには、次の手順を使用できます:

  1. 入力文字列から新しい Date オブジェクトを作成します。
  2. ユーザーの時間を取得します。ゾーン オフセット。
  3. 日付からタイム ゾーン オフセットを減算します。
<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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート