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

JavaScriptのDate.UTC()関数とは?構文と使い方を実例つきで解説

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

一度 Date オブジェクトを生成すれば、さまざまなメソッドを使って操作できるようになります。多くのメソッドでは、ローカル時刻または UTC(協定世界時/GMT)のいずれかを基準として、年・月・日・時・分・秒・ミリ秒といった各フィールドの取得や設定が行えます。

Date.UTC() 関数は、引数として受け取った日付の詳細情報を UTC(協定世界時)として扱い、1970年1月1日 00:00:00 UTC からの経過時間をミリ秒単位の数値で返します。

構文

Date.UTC() の構文は以下のとおりです。

Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]]);

パラメータ

  • year: 年を指定します。0〜99 の数値を指定した場合は、1900年に加算した値(例: 89 → 1989年)として解釈されます。
  • month: 月を 0(1月)〜11(12月)の整数で指定します。このパラメータは必須です。
  • day: 日を 1〜31 の整数で指定します。省略した場合は 1 が設定されます。
  • hour: 時を 0〜23 の整数で指定します。省略時は 0 になります。
  • minute: 分を 0〜59 の整数で指定します。省略時は 0 になります。
  • second: 秒を 0〜59 の整数で指定します。省略時は 0 になります。
  • millisecond: ミリ秒を 0〜999 の整数で指定します。省略時は 0 になります。

使用例1:UTC文字列の生成

次の例では、Date.UTC() を使って 1989年9月26日 03:04:05(UTC)の日時を生成し、toUTCString() メソッドで文字列に変換して表示しています。月の引数には「8」を指定していますが、月は 0 起点(0=1月)で数えるため、これは「9月」を意味する点に注意してください。

<html>
<head>
  <title>JavaScript Example</title>
</head>
<body>
  <script type="text/javascript">
    var dateObj = new Date(Date.UTC(89, 8, 26, 3, 4, 5));
    var date = dateObj.toUTCString();
    document.write(date);
  </script>
</body>
</html>

出力結果

Tue, 26 Sep 1989 03:04:05 GMT

使用例2:経過ミリ秒数の取得

次の例では、2018年11月17日に対応する UTC のミリ秒数を取得しています。こちらも月は 0 起点のため、引数の「10」は「11月」を表します。

<html>
<head>
  <title>JavaScript Example</title>
</head>
<body>
  <script type="text/javascript">
    var date = Date.UTC(2018, 10, 17);
    document.write("1970年から指定日までの経過ミリ秒数: " + date);
  </script>
</body>
</html>

出力結果

1970年から指定日までの経過ミリ秒数: 1542412800000

補足:利用時の注意点

Date.UTC() は Date コンストラクターの静的メソッドであり、個々の Date インスタンスに対して呼び出すものではない点に注意してください。呼び出す際は常に Date.UTC(...) の形式を使用します。

また、月が 0 起点であることはバグの原因になりやすいため、可読性を重視する場合は、ISO 8601 形式の文字列を渡す方法(例: new Date("2018-11-17T00:00:00Z"))も検討するとよいでしょう。

  1. JavaScriptのDate.toDateString()メソッドの使い方を徹底解説

    Dateオブジェクトは、JavaScript言語に標準で組み込まれているデータ型です。Dateオブジェクトは、以下のようにnew Date()を使って生成します。一度Dateオブジェクトを作成すると、さまざまなメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時・グリニッジ標準時)のいずれかを基準として、オブジェクトが持つ年、月、日、時、分、秒、ミリ秒の各フィールドを取得・設定するためのものです。その中でもtoDateString()メソッドは、時刻情報を除いた「日付部分のみ」を文字列として返すメソッドです。構文toDateString()

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

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