Date.UTC()
==========

Метод **`Date.UTC()`** принимает те же самые параметры, что и самая длинная форма конструктора `Date` и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.

Интерактивный пример
--------------------

Синтаксис
---------

**Начиная с 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` и `11`, представляющее месяц. (начиная с ES2017 необязательный параметр)

`day` Необязательный

Целое число между `1` и `31`, представляющее дни месяца.

`hour` Необязательный

Целое число между `0` и `23`, представляющее часы.

`minute` Необязательный

Целое число между `0` и `59`, представляющее минуты.

`second` Необязательный

Целое число между `0` и `59`, представляющее секунды.

`millisecond` Необязательный

Целое число между `0` и `999`, представляющее миллисекунды.

### Возвращаемое значение

Число, представляющее собой количество миллисекунд, прошедших с 1-ого Января 1970 года 00:00:00 UTC.

Описание
--------

Метод `UTC()` принимает параметры даты, разделённые запятыми и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC и указанным вами временем.

Для параметра `year` вы должны указать полный год; например, 1998. Если указан год между `0` и `99`, метод преобразует год в год в 20-м веке `(1900 + year)`; например, если вы указали `95`, будет использоваться `1995` год.

Метод `UTC()` отличается от конструктора `Date` двумя вещами.

* Метод `Date.UTC()` использует всемирное время вместо местного времени.
* Метод `Date.UTC()` возвращает значение времени как число вместо создания объекта `Date`.

Если определённый вами параметр выходит за пределы ожидаемого диапазона, метод `UTC()` обновит другие параметры чтобы привести это число в ожидаемый диапазон. Например, если вы используете в качестве месяца число 15, год будет увеличен на 1 `(year + 1)`, и в качестве месяца будет использоваться значение 3.

Поскольку метод `UTC()` является статическим методом объекта `Date`, вы всегда должны использовать его как `Date.UTC()`.

Примеры
-------

### Пример: использование `Date.UTC()`

Следующее выражение создаёт объект `Date`, используя всемирное время вместо местного:


```js
var 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 with JavaScript enabled. Enable JavaScript to view data.

Примечание о совместимости
--------------------------

### Date.UTC() с менее чем двумя аргументами

Когда вы предоставляете функции `Date.UTC()` меньше, чем два аргумента, то по стандартам ECMAScript 2017, она должна вернуть `NaN`. Браузерные движки, не поддерживающие подобное поведение, были обновлены (смотрите bug 1050755, ecma-262 #642).


```js
Date.UTC();
Date.UTC(1);

// Safari: NaN
// Chrome/Opera/V8: NaN

// Firefox <54: non-NaN
// Firefox 54+: NaN

// IE: non-NaN
// Edge: NaN
```

Смотрите также
--------------

* `Date.parse()`
* `Date`