Date.UTC()

Date.UTC() メソッドは、コンストラクタと同じ最も長い書式の引数を受け入れ、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間を表す Date オブジェクトのミリ秒単位の数値を返します。

構文

ECMAScript 2017 and later:

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

ECMAScript 2016 and earlier: (month used to be required)

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

引数

year
1900 年以降の「年」
month
「月」を表す 0 (1 月) から 11 (12 月) までの整数値。 (ECMAScript 2016まで、月は必須パラメーターでした。 ES2017の時点では、必須ではありません。)
day Optional
「日」を表す 1 から 31 までの整数値。
hour Optional
「時」を表す 0 から 23 までの整数値。
minute Optional
「分」を表す 0 から 59 までの整数値。
second Optional
「秒」を表す 0 から 59 までの整数値。
millisecond Optional
「ミリ秒」を表す 0 から 999 までの整数値。

戻り値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から与えた Date オブジェクトまでの経過時間を表すミリ秒単位の数値を返します。

説明

UTC はカンマ区切りの日時の引数を取り、世界時の 1970 年 1 月 1 日 00:00:00 から指定した日時までの経過時間を表すミリ秒単位の数値を返します。

year には完全な年、例えば 1998 と指定すべきです。0 から 99 までの年が指定された場合、このメソッドはその年を 20 世紀の年 (1900 + year) に変換します。例えば、95 を指定すると 1995 年が使われます。

この UTC メソッドは、Date コンストラクタと 2 つの点で異なります。

  • Date.UTC は地方時ではなく、協定世界時を用います。
  • Date.UTCDate オブジェクトを作らず、時間値を整数で返します。

指定した引数が、日時に期待される範囲を超えている場合、UTC メソッドは指定した値を受け入れるよう他の引数を更新します。例えば「月」に 15 を使った場合、year が 1 つ加算 (year + 1) され 、month には 3 が使われます。

UTC は、Date の静的メソッドなので、生成した Date オブジェクトのメソッドとしてではなく、常に Date.UTC() のように使用してください。

Date.UTC の使用

以下の文では、地方時の代わりに UTC を用いて Date オブジェクトを生成します。

var utcDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0));

仕様

仕様書 策定状況 備考
ECMAScript Latest Draft (ECMA-262)
Date.UTC の定義
ドラフト
ECMAScript 2015 (6th Edition, ECMA-262)
Date.UTC の定義
標準
ECMAScript 5.1 (ECMA-262)
Date.UTC の定義
標準
ECMAScript 1st Edition (ECMA-262) 標準 初期定義。JavaScript 1.0 で実装。

ブラウザの実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
UTCChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 3Opera 完全対応 3Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 あり

凡例

完全対応  
完全対応

互換性に関する備考

引数が 2 つ以下の Date.UTC の挙動

Date.UTC の引数が 2 つ以下の場合、NaN が戻り値として返ってきます。この動作は ECMAScript 2017 の中で規定されています。この動作をサポートしていなかったエンジンも既に対応済みです。  (バグ 1050755ecma-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

関連情報