JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのDate.getTimezoneOffset()関数とは?使い方をサンプル付きで解説


Dateオブジェクトは、JavaScriptに組み込まれているデータ型の一つです。Dateオブジェクトは、new Date()を使って次のように生成します。

Dateオブジェクトを作成すると、多数のメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時/グリニッジ標準時)のいずれかの形式で、年・月・日・時・分・秒・ミリ秒の各フィールドを取得・設定するために利用されます。

DateオブジェクトのgetTimezoneOffset()メソッドは、現在の日付におけるローカルタイムゾーンとUTCとの差を「分」単位で返します。

構文

getTimezoneOffset()の構文は以下のとおりです。

dateObj.getTimezoneOffset();

戻り値のポイント

返される値の符号には注意が必要です。たとえば日本(UTC+9)の場合、ローカル時間がUTCより9時間進んでいるため、-540が返されます。つまり「UTCを基準にどれだけずれているか」が、符号付きの分数として表現される仕組みです。

使用例

<html>
<head>
   <title>JavaScript サンプル</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date('september 26, 89 12:4:25:96');
      document.write(dateObj.getTimezoneOffset());
   </script>
</body>
</html>

実行結果

-330

上記の出力「-330」は、実行環境のタイムゾーンがUTC+5:30(インド標準時など)である場合の結果です。日本(UTC+9)の環境で実行した場合は「-540」と表示されます。

無効な日付を指定した場合の挙動

1か月の日数は最大31日であるため、日付は1〜31の範囲で指定する必要があります。範囲外の値(例:「9月40日」)を指定してDateオブジェクトを生成すると、そのオブジェクトは無効な日付(Invalid Date)となり、このメソッドはNaNを返します。

<html>
<head>
   <title>JavaScript サンプル</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date('september 40, 89 12:4:25:96');
      document.write(dateObj.getTimezoneOffset());
   </script>
</body>
</html>

実行結果

NaN

  1. JavaScriptのDate.setUTCMonth()メソッドとは?構文と使い方を実例付きで解説

    Dateオブジェクトは、JavaScriptに組み込まれているデータ型の一つです。Dateオブジェクトは、次のように new Date() を使って生成します。 Dateオブジェクトを生成すると、多数のメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時/GMT)のいずれかの時刻基準で、年・月・日・時・分・秒・ミリ秒の各フィールドを取得・設定するためのものです。 setUTCMonth()メソッドは、年の月を表す整数を受け取り、UTC(協定世界時)に基づいて現在の日付の「月」の値を置き換えます。月の値は0が1月を表し、以降は11が12月に

  2. JavaScriptのDate.@@toPrimitive()関数とは?日付オブジェクトをプリミティブ値に変換する方法

    JavaScriptのDate.@@toPrimitive()関数は、Dateオブジェクトをプリミティブ値に変換するために使用されます。このメソッドはSymbol.toPrimitiveプロパティを通じて呼び出され、引数に指定したヒント(hint)に応じて、文字列や数値など適切なプリミティブ値を返します。 ヒントの種類と戻り値 「default」:日付を表す文字列が返されます。 「number」:1970年1月1日00:00:00 UTCからの経過ミリ秒数(タイムスタンプ)が数値で返されます。 「string」:「default」と同様に、日付を表す文字列が返されます。 サンプルコード 以