aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/date/utc/index.html
blob: 6abb78eb6d3c61515bfdcf45239dc0b5f4ca1639 (plain)
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
---
title: Date.UTC()
slug: Web/JavaScript/Reference/Global_Objects/Date/UTC
tags:
  - UTC
  - Дата
  - Довідка
  - Час Unix
translation_of: Web/JavaScript/Reference/Global_Objects/Date/UTC
---
<div>{{JSRef}}</div>

<p>Метод <strong><code>Date.UTC()</code></strong> приймає той самий перелік параметрів, що й найдовша форма конструктора {{jsxref("Date")}}, та повертає кількість мілісекунд між 00:00:00 першого січня 1970 року та миттю у часі (за UTC), що відповідає переданим параметрам.</p>

<div>{{EmbedInteractiveExample("pages/js/date-utc.html")}}</div>

<p class="hidden">Першокод цього прикладу збережено у репозиторії GitHub. Якщо ви хочете долучитися до створення чи поліпшення таких прикладів, пропонуйте нам свої зміни до репозиторію <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a>.</p>

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox notranslate">Date.UTC(<var>year</var>, <var>month</var>[, <var>day</var>[, <var>hour</var>[, <var>minute</var>[, <var>second</var>[, <var>millisecond</var>]]]]])</pre>

<h3 id="Параметри">Параметри</h3>

<dl>
 <dt><code>year</code></dt>
 <dd>Ціле число, що позначає рік. Значення в проміжку 0-99 позначає рік 20-го сторіччя (1900-1999), а всі решта значень — як є (абсолютне значення).</dd>
 <dt><code>month</code></dt>
 <dd>Ціле число між 0 та 11, позначає місяць.</dd>
 <dt><code>day </code>{{optional_inline}}</dt>
 <dd>Ціле число між 1 та 31, позначає день місяця.</dd>
 <dt><code>hour </code>{{optional_inline}}</dt>
 <dd>Ціле число між 0 та 23, позначає годину.</dd>
 <dt><code>minute </code>{{optional_inline}}</dt>
 <dd>Ціле число між 0 та 59, позначає хвилини.</dd>
 <dt><code>second </code>{{optional_inline}}</dt>
 <dd>Ціле число між 0 та 59, позначає секунди.</dd>
 <dt><code>millisecond </code>{{optional_inline}}</dt>
 <dd>Ціле число між 0 та 999, позначає мілісекунди.</dd>
</dl>

<h3 id="Повертає">Повертає</h3>

<p>Ціле число, що являє собою кількість мілісекунд між 00:00:00 першого січня 1970 року та моментом часу (за UTC), що відповідає переданим параметрам.</p>

<h2 id="Опис">Опис</h2>

<p>Метод приймає параметри, що позначають окремі складники дати й часу, та повертає кількість мілісекунд між північчю (00:00:00) першого січня 1970-го року за UTC та вказаною миттю у часі. Всі дати раніше за точку відліку (перше січня 1970-го року) позначаються від'ємними числами.</p>

<p>Зауважте, що лік місяців (другий параметр метода) починається з нуля, а не з одиниці.</p>

<p>Вказуйте повний рік від Різдва Христового; наприклад 1998. Якщо вказано значання між 0 та 99, його буде перетворено на рік 20-го сторіччя (себто 1900 + year); наприклад, 91 позначає 1991 рік.</p>

<p>Між методом <code>UTC()</code> та конструктором <code>{{jsxref("Date")}}</code> є дві відмінності:</p>

<ul>
 <li><code>Date.UTC()</code> використовує всесвітній (UTC), а не місцевий час;</li>
 <li><code>Date.UTC()</code> повертає числове значення, а не об'єкт <code>{{jsxref("Date")}}</code>.</li>
</ul>

<div class="note">
<p><strong>Заувага:</strong> Якщо значення одного чи декількох вказаних складників виходить за прийнятні межі (скажімо, вказано 13-й місяць чи 70 хвилин), буде скориговано суміжні складники. Себто виклик <code>Date.UTC(2013, 13, 1)</code> є тотожним до <code>Date.UTC(2014, 1, 1)</code> і так само відповідає даті <code>2014-02-01T00:00:00Z</code>. Те саме стосується інших значень: виразам <code>Date.UTC(2013, 2, 1, 0, 70)</code> та <code>Date.UTC(2013, 2, 1, 1, 10)</code> однаково відповідає дата <code>2013-03-01T01:10:00Z</code>.</p>
</div>

<p>Позаяк <code>UTC()</code> є статичним методом класу <code>{{jsxref("Date")}}</code>, він зазвичай викликається через ім'я класу — <code>Date.UTC()</code>, а не через наявний об'єкт.</p>

<h2 id="Приклади">Приклади</h2>

<h3 id="Використання_Date.UTC">Використання <code>Date.UTC()</code></h3>

<p>Наведений приклад створює об'єкт типу <code>{{jsxref("Date")}}</code> зі складників дати й часу, що тлумачаться як UTC, а не місцевий час:</p>

<pre class="brush:js notranslate">var independenceDateAsMs = Date.UTC(91, 7, 24, 9, 0, 0);
console.log(independenceDateAsMs);  // 683024400000

var independenceDate = new Date(independenceDateAsMs);
console.log(independenceDate);  // Sat Aug 24 1991 12:00:00 GMT+0300 (EEST)
</pre>

<p>Такий приклад засвідчує, що дати раніше точки відліку (північ першого січня 1970-го року) позначаються від'ємними числами:</p>

<pre class="brush: js notranslate">var ms = Date.UTC(1969, 11, 31, 23, 59, 59, 999);
console.log(ms);  // -1</pre>

<h2 id="Специфікації">Специфікації</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Специфікація</th>
   <th scope="col">Статус</th>
   <th scope="col">Коментар</th>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-date.utc', 'Date.UTC')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-date.utc', 'Date.UTC')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.9.4.3', 'Date.UTC')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Початкова виознака. Запроваджено у JavaScript 1.0.</td>
  </tr>
 </tbody>
</table>

<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2>

<div class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>

<p>{{Compat("javascript.builtins.Date.UTC")}}</p>

<h2 id="Сумісність">Сумісність</h2>

<h3 id="Відсутність_обовязкових_аргументів_Date.UTC">Відсутність обов'язкових аргументів <code>Date.UTC</code></h3>

<p>За відсутності одного чи обох обов'язкових аргументів метод <code>Date.UTC</code> має повертати <code>{{Glossary("NaN")}}</code>. Така поведінка визначена специфікацією ECMAScript 2017. Web-рушії, які не підтримували цю поведінку, було оновлено (див. {{bug(1050755)}}, <a href="https://github.com/tc39/ecma262/pull/642">ecma-262 #642</a>).</p>

<pre class="brush: js notranslate">Date.UTC();
Date.UTC(1);

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

// Firefox &lt;54: non-NaN
// Firefox 54+: NaN

// IE: non-NaN
// Edge: NaN
</pre>

<h2 id="Див._також">Див. також</h2>

<ul>
 <li>{{jsxref("Date.parse()")}}</li>
</ul>

<h2 id="Дізнатись_більше">Дізнатись більше</h2>

<ul>
 <li>{{Interwiki("wikipedia", "UTC", "Всесвітній координований час (UTC)")}} у Вікіпедії</li>
 <li>{{Interwiki("wikipedia", "Час_Unix", "Час Unix")}} у Вікіпедії</li>
</ul>