1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
---
title: Date.UTC()
slug: Web/JavaScript/Reference/Global_Objects/Date/UTC
tags:
- Date
- JavaScript
- Method
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/Date/UTC
---
<div>{{JSRef("Global_Objects", "Date")}}</div>
<p>Метод <strong><code>Date.UTC()</code></strong> принимает те же самые параметры, что и самая длинная форма конструктора {{jsxref("Global_Objects/Date", "Date")}} и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC.</p>
<div>{{EmbedInteractiveExample("pages/js/date-utc.html")}}</div>
<h2 id="Syntax" name="Syntax">Синтаксис</h2>
<p> <strong>Начиная с ECMAScript 2017:</strong></p>
<pre class="syntaxbox">Date.UTC(<var>year</var>[, <var>month</var>[, <var>day</var>[, <var>hour</var>[, <var>minute</var>[, <var>second</var>[, <var>millisecond</var>]]]]]])</pre>
<p><strong>ECMAScript 2016 и ранее: </strong>(<em>использование <code>month</code> обязательно</em>)</p>
<pre class="syntaxbox"><code>Date.UTC(<var>year</var>, <var>month</var>[, <var>day</var>[, <var>hour</var>[, <var>minute</var>[, <var>second</var>[, <var>millisecond</var>]]]]])</code></pre>
<h3 id="Parameters" name="Parameters">Параметры</h3>
<dl>
<dt><code>year</code></dt>
<dd>Год, полностью.</dd>
<dt><code>month</code></dt>
<dd>Целое число между <code>0</code> и <code>11</code>, представляющее месяц. (начиная с ES2017 необязательный параметр)</dd>
<dt><code>day</code> {{optional_inline}}</dt>
<dd>Целое число между <code>1</code> и <code>31</code>, представляющее дни месяца.</dd>
<dt><code>hour</code> {{optional_inline}}</dt>
<dd>Целое число между <code>0</code> и <code>23</code>, представляющее часы.</dd>
<dt><code>minute</code> {{optional_inline}}</dt>
<dd>Целое число между <code>0</code> и <code>59</code>, представляющее минуты.</dd>
<dt><code>second</code> {{optional_inline}}</dt>
<dd>Целое число между <code>0</code> и <code>59</code>, представляющее секунды.</dd>
<dt><code>millisecond</code> {{optional_inline}}</dt>
<dd>Целое число между <code>0</code> и <code>999</code>, представляющее миллисекунды.</dd>
</dl>
<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
<p>Число, представляющее собой количество миллисекунд, прошедших с 1-ого Января 1970 года 00:00:00 UTC.</p>
<h2 id="Описание">Описание</h2>
<p>Метод <code>UTC()</code> принимает параметры даты, разделённые запятыми и возвращает количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC и указанным вами временем.</p>
<p>Для параметра <code>year</code> вы должны указать полный год; например, 1998. Если указан год между <code>0</code> и <code>99</code>, метод преобразует год в год в 20-м веке <code>(1900 + year)</code>; например, если вы указали <code>95</code>, будет использоваться <code>1995</code> год.</p>
<p>Метод <code>UTC()</code> отличается от конструктора {{jsxref("Global_Objects/Date", "Date")}} двумя вещами.</p>
<ul>
<li>Метод <code>Date.UTC()</code> использует всемирное время вместо местного времени.</li>
<li>Метод <code>Date.UTC()</code> возвращает значение времени как число вместо создания объекта {{jsxref("Global_Objects/Date", "Date")}}.</li>
</ul>
<p>Если определённый вами параметр выходит за пределы ожидаемого диапазона, метод <code>UTC()</code> обновит другие параметры чтобы привести это число в ожидаемый диапазон. Например, если вы используете в качестве месяца число 15, год будет увеличен на 1 <code>(year + 1)</code>, и в качестве месяца будет использоваться значение 3.</p>
<p>Поскольку метод <code>UTC()</code> является статическим методом объекта {{jsxref("Global_Objects/Date", "Date")}}, вы всегда должны использовать его как <code>Date.UTC()</code>.</p>
<h2 id="Examples" name="Examples">Примеры</h2>
<h3 id="Example_Using_Date.UTC" name="Example:_Using_Date.UTC">Пример: использование <code>Date.UTC()</code></h3>
<p>Следующее выражение создаёт объект {{jsxref("Global_Objects/Date", "Date")}}, используя всемирное время вместо местного:</p>
<pre class="brush:js">var utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
</pre>
<h2 id="Specifications" name="Specifications">Спецификации</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Спецификация</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-date.utc', 'Date.UTC')}}</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
<div>
<p>{{Compat("javascript.builtins.Date.UTC")}}</p>
</div>
<h2 id="See_also" name="See_also">Заметка о совместимости</h2>
<h3 id="Date.UTC_с_менее_чем_двумя_аргументами">Date.UTC() с менее чем двумя аргументами</h3>
<p>Когда вы предоставляете функции <code>Date.UTC()</code> меньше, чем два аргумента, то по стандартам ECMAScript 2017, она должна вернуть {{jsxref("NaN")}}. Браузерные движки, не поддерживающие подобное поведение, были обновлены (смотрите <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1050755">bug 1050755</a>, <a href="https://github.com/tc39/ecma262/pull/642">ecma-262 #642</a>).</p>
<pre class="brush: js">Date.UTC();
Date.UTC(1);
// Safari: NaN
// Chrome/Opera/V8: NaN
// Firefox <54: non-NaN
// Firefox 54+: NaN
// IE: non-NaN
// Edge: NaN
</pre>
<h2 id="See_also" name="See_also">Смотрите также</h2>
<ul>
<li>{{jsxref("Date.parse()")}}</li>
<li>{{jsxref("Date")}}</li>
</ul>
|