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 2015年7月.
Date.UTC()
は静的メソッドで、 Date
コンストラクターと同様に日付と時刻の要素を表す引数を受け入れますが、それらを UTC として扱います。 1970 年 1 月 1 日 00:00:00 UTC からのミリ秒数を返します。
試してみましょう
const utcDate1 = new Date(Date.UTC(96, 1, 2, 3, 4, 5));
const utcDate2 = new Date(Date.UTC(0, 0, 0, 0, 0, 0));
console.log(utcDate1.toUTCString());
// 予想される結果: "Fri, 02 Feb 1996 03:04:05 GMT"
console.log(utcDate2.toUTCString());
// 予想される結果: "Sun, 31 Dec 1899 00:00:00 GMT"
構文
Date.UTC(year)
Date.UTC(year, monthIndex)
Date.UTC(year, monthIndex, day)
Date.UTC(year, monthIndex, day, hours)
Date.UTC(year, monthIndex, day, hours, minutes)
Date.UTC(year, monthIndex, day, hours, minutes, seconds)
Date.UTC(year, monthIndex, day, hours, minutes, seconds, milliseconds)
引数
year
-
整数値で、年を表します。
0
から99
までの値は1900
から1999
までに対応付けられます。それ以外の値はすべて、実際の年を表します。例を参照してください。 monthIndex
省略可-
月を表す整数で、
0
(1 月) から始まり、11
(12 月) までです。既定値は0
です。 day
省略可-
「日」を表す
1
から31
までの整数値。既定値は1
です。 hours
省略可-
「時」を表す
0
から23
までの整数値。既定値は0
です。 minutes
省略可-
「分」を表す
0
から59
までの整数値。既定値は0
です。 seconds
省略可-
「秒」を表す
0
から59
までの整数値。既定値は0
です。 milliseconds
省略可-
「ミリ秒」を表す
0
から999
までの整数値。既定値は0
です。
返値
解説
0
から 99
までの年は、 20 世紀の年 (1900 + year)
に変換されます。例えば、 95
は 1995 年に変換されます。
この UTC()
メソッドは Date()
コンストラクターと 3 つの点で異なります。
Date.UTC()
は地方時ではなく、協定世界時を用います。Date.UTC()
はDate
オブジェクトを生成せず、時刻値を整数で返します。- 単一の数値を渡すと、
Date.UTC()
はそれをタイムスタンプではなく年として解釈します。
引数が日時に期待される範囲を超えている場合、 UTC()
メソッドは指定した値を受け入れるよう他の引数を更新します。例えば 15
が monthIndex
に使用された場合、年が 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));
Date.UTC() の引数が 1 つであった場合の動作
Date.UTC()
に 1 つの引数を渡すと、実装が Date()
コンストラクターとの整合性を保つため、単一の引数を年として解釈せず、動作に不整合が生じていました。実装は、 monthIndex
が省略されたときに NaN
に強制変換するのではなく、0
として扱うことになりました。
Date.UTC(2017); // 1483228800000
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-date.utc> |
ブラウザーの互換性
Loading…