Date.UTC()
Date.UTC()
メソッドは、コンストラクターと同じ最も長い書式の引数を受け入れ、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間を表す Date
オブジェクトのミリ秒単位の数値を返します。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
構文
ECMAScript 2017 より:
Date.UTC(year[, month[, day[, hour[, minute[, second[, millisecond]]]]]])
ECMAScript 2016 以前: (month
が必須であった)
Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]])
引数
year
- 完全な形の「年」
month
- 「月」を表す
0
(1 月) から11
(12 月) までの整数値。 (ECMAScript 2016 まで、month
は必須の引数でした。 ES2017 では必須ではなくなりました。) day
省略可- 「日」を表す
1
から31
までの整数値。省略された場合の既定値は1
です。 hour
省略可- 「時」を表す
0
から23
までの整数値。省略された場合の既定値は0
です。 minute
省略可- 「分」を表す
0
から59
までの整数値。省略された場合の既定値は0
です。 second
省略可- 「秒」を表す
0
から59
までの整数値。省略された場合の既定値は0
です。 millisecond
省略可- 「ミリ秒」を表す
0
から999
までの整数値。省略された場合の既定値は0
です。
返値
協定世界時 (UTC) の 1970 年 1 月 1 日 00:00:00 から指定された日時までの経過時間を表すミリ秒単位の数値です。
解説
UTC()
はカンマ区切りの日時の引数を取り、世界時の 1970 年 1 月 1 日 00:00:00 から指定した日時までの経過時間を表すミリ秒単位の数値を返します。
0
から 99
までの年は、 20 世紀の年 (1900 + year)
に変換されます。例えば、 95
は 1995 年に変換されます。
この UTC()
メソッドは Date
コンストラクターと 2 つの点で異なります。
Date.UTC()
は地方時ではなく、協定世界時を用います。Date.UTC()
はDate
オブジェクトを生成せず、時刻値を整数で返します。
引数が日時に期待される範囲を超えている場合、 UTC()
メソッドは指定した値を受け入れるよう他の引数を更新します。例えば 15
が month
に使用された場合、年が 1 つ増加し (year + 1)
、月には 3
が使われます。
UTC
は Date
の静的メソッドなので、生成した Date
オブジェクトのメソッドとしてではなく、常に Date.UTC()
のように使用してください。
例
Date.UTC の使用
以下の文では、地方時の代わりに UTC を用いて Date
オブジェクトを生成します。
let utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
仕様書
ブラウザーの互換性
BCD tables only load in the browser
互換性ノート
Date.UTC() の引数が2つ未満であった場合
Date.UTC()
の引数が 2 つ未満の場合、 ECMAScript 2017 では NaN
を返すよう要求しています。この動作に対応していなかったエンジンも対応済みです (bug 1050755, ecma-262 #642 を参照)。
Date.UTC();
Date.UTC(1);
// Safari: NaN
// Chrome/Opera/V8: NaN
// Firefox <54: non-NaN
// Firefox 54+: NaN
// IE: non-NaN
// Edge: NaN