Date.UTC()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Date.UTC()
メソッドは、コンストラクターと同じ最も長い書式の引数を受け入れ、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間を表す Date
オブジェクトのミリ秒単位の数値を返します。
試してみましょう
構文
Date.UTC(year)
Date.UTC(year, month)
Date.UTC(year, month, day)
Date.UTC(year, month, day, hour)
Date.UTC(year, month, day, hour, minute)
Date.UTC(year, month, day, hour, minute, second)
Date.UTC(year, month, day, hour, minute, second, millisecond)
year
-
整数値で、年を表します。
0
から99
までの値は1900
から1999
までに対応付けられます。それ以外の値はすべて、実際の年を表します。 例を参照してください。 month
省略可-
0
(1 月) から11
(12 月) までの整数値で、月を表します。 ECMAScript 2017 以降では、省略時の既定値は0
です。 (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
オブジェクトを生成します。
const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
仕様書
Specification |
---|
ECMAScript Language Specification # sec-date.utc |
ブラウザーの互換性
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