aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/date/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
commit218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch)
treea9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/web/javascript/reference/global_objects/date/index.html
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/date/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/date/index.html269
1 files changed, 269 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/date/index.html b/files/uk/web/javascript/reference/global_objects/date/index.html
new file mode 100644
index 0000000000..61c26eb1d8
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/date/index.html
@@ -0,0 +1,269 @@
+---
+title: Date
+slug: Web/JavaScript/Reference/Global_Objects/Date
+tags:
+ - Date
+ - JavaScript
+ - Time
+ - Дата
+ - Час Unix
+translation_of: Web/JavaScript/Reference/Global_Objects/Date
+---
+<div>{{JSRef}}</div>
+
+<div>Об'єкт JavaScript <strong><code>Date</code></strong> відображає єдиний момент у часі у  незалежному від платформи форматі. Об'єкти <code>Date</code> містять число, яке відображає кількість мілісекунд від 1 січня 1970 року за UTC.</div>
+
+<div></div>
+
+<div class="blockIndicator note">
+<p>TC39 працює над об'єктом <a href="https://tc39.es/proposal-temporal/docs/index.html">Temporal</a>, новим API для дати та часу.<br>
+ Читайте більше щодо нього у <a href="https://blogs.igalia.com/compilers/2020/06/23/dates-and-times-in-javascript/">блозі Igalia</a> та заповнюйте <a href="https://forms.gle/iL9iZg7Y9LvH41Nv8">опитування</a>. Він потребує відгуків реальних веб-розробників, але поки що не готовий для повноцінного використання!</p>
+</div>
+
+<h2 id="Опис">Опис</h2>
+
+<h3 id="Час_ECMAScript_та_часові_мітки">Час ECMAScript та часові мітки</h3>
+
+<p>Дата JavaScript вказується як кількість мілісекунд, що пройшли від 1 січня 1970 року за UTC. Ця дата та час не є тим самим, що й <strong>час UNIX</strong> (кількість <em>секунд</em>, що пройшли від опівночі 1 січня 1790 року за UTC), який є базовим значенням для дати та часу, що записуються комп'ютером.</p>
+
+<p><strong>Заувага:</strong> Важливо пам'ятати, що, тоді як значення часу в серці об'єкта Date є значенням UTC, базові методи з отримання дати та часу, або їхніх елементів, усі працюють у локальному (тобто, системному) часовому поясі та зсуві.</p>
+
+<p>Варто зауважити, що максимальне значення <code>Date</code> не співпадає з максимальним безпечним цілим числом (<code>Number.MAX_SAFE_INTEGER</code> дорівнює 9,007,199,254,740,991). Натомість, ECMA-262 визначає, що максимум ±100,000,000 (сто мільйонів) днів відносно 1 січня 1970 року за UTC (тобто, 20 квітня 271821 до н.е. ~ 13 вересня 275760 н.е.) можуть бути представлені стандартним об'єктом <code>Date</code> (що дорівнює ±8,640,000,000,000,000 мілісекундам).</p>
+
+<h3 id="Формат_дати_та_перетворення_часових_поясів">Формат дати та перетворення часових поясів</h3>
+
+<p>Існує велика кількість методів для отримання дати у різних форматах, а також для виконання перетворень часових поясів. Особливо корисні функції, які виводять дату та час у всесвітньому координованому часі (Coordinated Universal Time, UTC), глобальному стандартному часі, визначеному Всесвітнім часовим стандартом (World Time Standard). (Цей час історично відомий як <em>середній час за Гринвічем</em>, бо UTC пролякає вздовж меридіану, що включає Лондон — та сусідній Гринвіч — у Великій Британії.) Пристрій користувача надає місцевий час.</p>
+
+<p>Над додачу до методів для читання та зміни окремих компонентів місцевої дати та часу (таких, як {{jsxref("Date.getDay", "getDay()")}} та {{jsxref("Date.setHours", "setHours()")}}), також існують версії тих самих методів, які читають та змінюють дату та час, використовуючи час UTC (такі, як {{jsxref("Date.getUTCDay()", "getUTCDay()")}} та {{jsxref("Date.setUTCHours", "setUTCHours()")}}).</p>
+
+<h2 id="Конструктор">Конструктор</h2>
+
+<dl>
+ <dt>{{jsxref("Date/Date", "Date()")}}</dt>
+ <dd>Створює новий об'єкт <code>Date</code>.</dd>
+</dl>
+
+<h2 id="Статичні_методи">Статичні методи</h2>
+
+<dl>
+ <dt>{{jsxref("Date.now()")}}</dt>
+ <dd>Вертає ціле число, що позначає поточний час — кількість мілісекунд від 1 січня 1970 року 00:00:00 за UTC без врахування високосних секунд.</dd>
+ <dt>{{jsxref("Date.parse()")}}</dt>
+ <dd>Розбирає рядкове представлення дати та повертає кількість мілісекунд між 00:00:00 за UTC 1 січня 1970 та зазначеною миттю у часі, ігноруючи високосні секунди.</dd>
+ <dd>
+ <div class="note">
+ <p><strong>Заувага:</strong> Розбір рядків з датою (часом) за допомогою метода <code>Date.parse</code> є рішуче небажаним через наявні розбіжності поміж переглядачами.</p>
+ </div>
+ </dd>
+ <dt>{{jsxref("Date.UTC()")}}</dt>
+ <dd>Приймає ті самі параметри, що й найдовша форма конструктора (тобто, від 2 до 7), та вертає кількість мілісекунд від 1 січня 1970 року 00:00:00 за UTC, ігноруючи високосні секунди.</dd>
+</dl>
+
+<h2 id="Методи_екземплярів">Методи екземплярів</h2>
+
+<dl>
+ <dt>{{jsxref("Date.prototype.getDate()")}}</dt>
+ <dd>Повертає день місяця (<code>1</code>–<code>31</code>) для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getDay()")}}</dt>
+ <dd>Повертає день тижня (<code>0</code>–<code>6</code>) для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getFullYear()")}}</dt>
+ <dd>Повертає рік (4 цифри для 4-значних років) вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getHours()")}}</dt>
+ <dd>Повертає годину (<code>0</code>–<code>23</code>) у вказаній даті згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getMilliseconds()")}}</dt>
+ <dd>Повертає мілісекунди (<code>0</code>–<code>999</code>) у вказаній даті згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getMinutes()")}}</dt>
+ <dd>Повертає хвилини (<code>0</code>–<code>59</code>) у вказаній даті згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getMonth()")}}</dt>
+ <dd>Повертає місяць (<code>0</code>–<code>11</code>) у вказаній даті згідно з місцевм часом.</dd>
+ <dt>{{jsxref("Date.prototype.getSeconds()")}}</dt>
+ <dd>Повертає секунди (<code>0</code>–<code>59</code>) у вказаній даті згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.getTime()")}}</dt>
+ <dd>Повертає числове значення вказаної дати у вигляді кількості мілісекунд від 1 січня 1970 року 00:00:00 за UTC. (Для більш ранніх дат повертаються від'ємні значення.)</dd>
+ <dt>{{jsxref("Date.prototype.getTimezoneOffset()")}}</dt>
+ <dd>Повертає зсув часового поясу у хвилинах для місцевих налаштувань.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCDate()")}}</dt>
+ <dd>Повертає день місяця (<code>1</code>–<code>31</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCDay()")}}</dt>
+ <dd>Повертає день тижня (<code>0</code>–<code>6</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCFullYear()")}}</dt>
+ <dd>Повертає рік (4 цифри для 4-значних років) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCHours()")}}</dt>
+ <dd>Повертає години (<code>0</code>–<code>23</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCMilliseconds()")}}</dt>
+ <dd>Повертає мілісекунди (<code>0</code>–<code>999</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCMinutes()")}}</dt>
+ <dd>Повертає хвилини (<code>0</code>–<code>59</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCMonth()")}}</dt>
+ <dd>Повертає місяць (<code>0</code>–<code>11</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getUTCSeconds()")}}</dt>
+ <dd>Повертає секунди (<code>0</code>–<code>59</code>) у вказаній даті згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.getYear()")}}</dt>
+ <dd>Повертає рік (зазвичай, 2–3 цифри) у вказаній даті згідно з місцевим часом. Використовуйте замість нього {{jsxref("Date.prototype.getFullYear()", "getFullYear()")}}.</dd>
+ <dt>{{jsxref("Date.prototype.setDate()")}}</dt>
+ <dd>Встановлює день місяця для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setFullYear()")}}</dt>
+ <dd>Встановлює повне значення року (наприклад, 4 цифри для 4-значних років) для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setHours()")}}</dt>
+ <dd>Встановлює години для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setMilliseconds()")}}</dt>
+ <dd>Встановлює мілісекунди для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setMinutes()")}}</dt>
+ <dd>Встановлює хвилини для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setMonth()")}}</dt>
+ <dd>Встановлює місяць для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setSeconds()")}}</dt>
+ <dd>Встановлює секунди для вказаної дати згідно з місцевим часом.</dd>
+ <dt>{{jsxref("Date.prototype.setTime()")}}</dt>
+ <dd>Встановлює об'єкту {{jsxref("Date")}} час, переданий кількістю мілісекунд від 1 січня 1970 року 00:00:00 за UTC. Використовуйте від'ємні значення для більш ранніх дат.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCDate()")}}</dt>
+ <dd>Встановлює день місяця для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCFullYear()")}}</dt>
+ <dd>Встановлює повне значення року (наприклад, 4 цифри для 4-значних років) для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCHours()")}}</dt>
+ <dd>Встановлює години для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCMilliseconds()")}}</dt>
+ <dd>Встановлює мілісекунди для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCMinutes()")}}</dt>
+ <dd>Встановлює хвилини для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCMonth()")}}</dt>
+ <dd>Встановлює місяць для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setUTCSeconds()")}}</dt>
+ <dd>Встановлює секунди для вказаної дати згідно зі всесвітнім часом.</dd>
+ <dt>{{jsxref("Date.prototype.setYear()")}}</dt>
+ <dd>Встановлює рік (зазвичай, 2–3 цифри) для вказаної дати згідно з місцевим часом. Використовуйте замість нього {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}}.</dd>
+ <dt>{{jsxref("Date.prototype.toDateString()")}}</dt>
+ <dd>Повертає елементи дати об'єкта {{jsxref("Date")}} у вигляді зручного для читання рядка, наприклад, <code>'Thu Apr 12 2018'</code>.</dd>
+ <dt>{{jsxref("Date.prototype.toISOString()")}}</dt>
+ <dd>Перетворює дату на рядок згідно з розширеним форматом ISO 8601.</dd>
+ <dt>{{jsxref("Date.prototype.toJSON()")}}</dt>
+ <dd>Повертає рядок, що відображає об'єкт {{jsxref("Date")}}, використовуючи {{jsxref("Date.prototype.toISOString()", "toISOString()")}}. Призначений для використання методом {{jsxref("JSON.stringify()")}}.</dd>
+ <dt>{{jsxref("Date.prototype.toGMTString()")}}</dt>
+ <dd>Повертає рядок, що відображає об'єкт {{jsxref("Date")}} на основі часового поясу GMT (UTC). Використовуйте замість нього {{jsxref("Date.prototype.toUTCString()", "toUTCString()")}}.</dd>
+ <dt>{{jsxref("Date.prototype.toLocaleDateString()")}}</dt>
+ <dd>Повертає рядкове представлення елементів дати у відповідності до системних налаштувань.</dd>
+ <dt><code><a href="/uk/docs/Archive/Web/JavaScript/Date.toLocaleFormat">Date.prototype.toLocaleFormat()</a></code></dt>
+ <dd>Перетворює дату на рядок, використовуючи рядок форматування.</dd>
+ <dt>{{jsxref("Date.prototype.toLocaleString()")}}</dt>
+ <dd>Повертає рядкове представлення дати відповідно до мовних налаштувань. Заміщує метод {{jsxref("Object.prototype.toLocaleString()")}}.</dd>
+ <dt>{{jsxref("Date.prototype.toLocaleTimeString()")}}</dt>
+ <dd>Повертає рядкове представлення часу у відповідності до мовних налаштувань.</dd>
+ <dt>{{jsxref("Date.prototype.toString()")}}</dt>
+ <dd>Повертає рядкове представлення вказаного об'єкта {{jsxref("Date")}}. Заміщує метод {{jsxref("Object.prototype.toString()")}}.</dd>
+ <dt>{{jsxref("Date.prototype.toTimeString()")}}</dt>
+ <dd>Повертає елементи часу об'єкта {{jsxref("Date")}} у вигляді зручного для читання рядка.</dd>
+ <dt>{{jsxref("Date.prototype.toUTCString()")}}</dt>
+ <dd>Перетворює дату на рядок, використовуючи часових пояс UTC.</dd>
+ <dt>{{jsxref("Date.prototype.valueOf()")}}</dt>
+ <dd>Повертає просте значення об'єкта {{jsxref("Date")}}. Заміщує метод {{jsxref("Object.prototype.valueOf()")}}.</dd>
+</dl>
+
+<div></div>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Кілька_способів_створити_екземпляр_Date">Кілька способів створити екземпляр <code>Date</code></h3>
+
+<p>Наступні приклади демонструють кілька способів створення дат JavaScript:</p>
+
+<div class="note">
+<p><strong>Заувага:</strong> Розбір рядків з датою за допомогою конструктора <code>Date</code> (або методу <code>Date.parse</code>, що є одне й те саме) є рішуче небажаним через наявні розбіжності поміж переглядачами.</p>
+</div>
+
+<pre class="brush: js notranslate">let today = new Date()
+let birthday = new Date('December 17, 1995 03:24:00')
+let birthday = new Date('1995-12-17T03:24:00')
+let birthday = new Date(1995, 11, 17) // місяці нумеруються з 0
+let birthday = new Date(1995, 11, 17, 3, 24, 0)
+let birthday = new Date(628021800000)            // передаємо часову мітку
+</pre>
+
+<h3 id="Щоб_отримати_день_місяць_та_рік_або_час"> Щоб отримати день, місяць та рік, або час</h3>
+
+<pre class="brush: js notranslate">let [month, date, year] = ( new Date() ).toLocaleDateString().split("/")
+let [hour, minute, second] = ( new Date() ).toLocaleTimeString().slice(0,7).split(":")</pre>
+
+<h3 id="Двозначний_рік_відповідає_рокам_1900-1999">Двозначний рік відповідає рокам 1900-1999</h3>
+
+<p>Для створення та отримання дат між <code>0</code> та <code>99</code> роками, слід використовувати методи {{jsxref("Date.prototype.setFullYear()")}} та {{jsxref("Date.prototype.getFullYear()")}}.</p>
+
+<pre class="brush: js notranslate">let date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+
+// Застарілий метод, тут 98 також обертається на 1998
+date.setYear(98); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+
+date.setFullYear(98); // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
+</pre>
+
+<h3 id="Обчислення_тривалості">Обчислення тривалості</h3>
+
+<p>У наведених прикладах показано, як визначити час, що пройшов між двома датами JavaScript.</p>
+
+<p>Через різну тривалість доби (внаслідок переходів між літнім та зимовим часом), місяців та років, вираження обчисленої тривалості в одиницях, більших за години, хвилини та секунди, зустрічає багато проблем та потребує вдумливого дослідження перед застосуванням.</p>
+
+<pre class="brush: js notranslate">// Використання об'єктв Date
+var start = Date.now();
+
+// Тут якісь обчислення, тривалість яких слід з'ясувати
+doSomethingForALongTime();
+let end = Date.now()
+let elapsed = end - start // час, що пройшов, у мілісекундах
+</pre>
+
+<pre class="brush: js notranslate">// Використання вбудованих методів
+let start = new Date()
+
+// Подію, час якої необхідно обчислити:
+doSomethingForALongTime()
+let end = new Date()
+let elapsed = end.getTime() - start.getTime() // час, що пройшов, у мілісекундах
+</pre>
+
+<pre class="brush: js notranslate">// Щоб перевірити функцію та отримати її результат
+function printElapsedTime(fTest) {
+ let nStartTime = Date.now(),
+ vReturn = fTest(),
+ nEndTime = Date.now()
+
+ console.log(`Тривалість: ${ String(nEndTime - nStartTime) } мілісекунд`);
+ return vReturn
+}
+
+let yourFunctionReturn = printElapsedTime(yourFunction)
+</pre>
+
+<div class="note">
+<p><strong>Заувага:</strong> У переглядачах з підтримкою часу високої роздільності {{domxref("window.performance", "Web Performance API", "", 1)}}, метод {{domxref("Performance.now()")}} може забезпечити вищу точність та надійність вимірювання тривалості, ніж {{jsxref("Date.now()")}}.</p>
+</div>
+
+<h3 id="Отримання_кількості_секунд_з_початку_епохи_ECMAScript">Отримання кількості секунд з початку епохи ECMAScript</h3>
+
+<pre class="notranslate">let seconds = Math.floor(Date.now() / 1000)
+</pre>
+
+<p>У цьому випадку важливо повернути тільки ціле число, тому просте ділення не підійде. Також важливо повернути лише секунди, які вже пройшли. (Тому цей код використовує {{jsxref("Math.floor()")}}, а <em>не</em> {{jsxref("Math.round()")}}.)</p>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-date-objects', 'Date')}}</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>
+
+<div>{{Compat("javascript.builtins.Date.Date")}}</div>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>Конструктор {{jsxref("Date/Date", "Date()")}}</li>
+</ul>