JS метод Date.UTC()


Загальний опис

Метод Date.UTC() - це статичний метод об'єкта Date, який призначений для конвертації дати і часу в мілісекунди з 1 січня 1970 року за Координованим універсальним часом (UTC), який є точкою відліку для представлення часу в JavaScript. Цей метод часто використовується для створення об'єктів дати на основі конкретних значень року, місяця, дня та інших компонентів часу.

Основна мета Date.UTC() - надати зручний спосіб конвертації конкретних дат і часів в часові значення, які можна використовувати для подальших обчислень і операцій дати/часу. Цей метод важливий для роботи з датами в середовищах, де часові зони та зміщення UTC відіграють важливу роль, таких як розробка веб-застосунків.

Зокрема, Date.UTC() відіграє ключову роль у визначенні дат та часу в універсальному форматі, дозволяючи розробникам створювати надійні та консистентні застосунки, незалежно від місцевого часу користувача. Він особливо корисний для розробки веб-сайтів і застосунків, що вимагають точного та консистентного представлення дати та часу.

При використанні Date.UTC(), розробники повинні вказати рік, місяць (з 0 для січня до 11 для грудня), день місяця, години, хвилини, секунди та мілісекунди як аргументи. Наприклад:

let utcMilliseconds = Date.UTC(2023, 0, 1, 12, 0, 0); // 1 січня 2023 року о 12:00:00 UTC

У цьому прикладі, utcMilliseconds буде містити число мілісекунд з 1 січня 1970 року до 1 січня 2023 року о 12:00:00 UTC.

Особливість методу Date.UTC() полягає в тому, що він завжди повертає час в мілісекундах за UTC, не зважаючи на місцевий час системи, на відміну від конструктора Date, який враховує місцевий час.

Для більш досвідчених програмістів може бути корисно знати, що, використовуючи значення, повернуте Date.UTC(), можна виконувати розширені обчислення та маніпуляції з датою та часом, такі як знаходження різниці між двома датами, конвертація в різні часові зони та інше.

автор: Bond

Порада

Для розробників з великим досвідом, які працюють над складними проектами з численними обчисленнями дат, важливо використовувати Date.UTC() разом із специфічними оптимізаціями для забезпечення високої продуктивності та точності ваших обчислень.

автор: Bond
Порада

У JavaScript місяці індексуються з 0, отже, січень має індекс 0, а грудень - 11. Коли ви використовуєте Date.UTC(), будьте обережні та вказуйте правильний індекс місяця, щоб уникнути помилок у ваших датах.

let marchUTC = Date.UTC(2023, 2, 1); // 1 березня 2023 року, а не 1 лютого!
автор: Bond
Порада

Після отримання значення з Date.UTC(), рекомендується перевірити, чи повернуте значення не дорівнює NaN, що вказуватиме на недійсну дату. Такий підхід допоможе швидко виявити та вирішити проблеми з даними про дату та час у вашому застосунку.

let utcDate = Date.UTC(2023, 13, 1); // недійсний місяць
if (isNaN(utcDate)) {
  console.error('Invalid date!');
}
автор: Bond

Синтаксис

Date.UTC(year)
Date.UTC(year, monthIndex)
Date.UTC(year, monthIndex, day)
Date.UTC(year, monthIndex, day, hour)
Date.UTC(year, monthIndex, day, hour, minute)
Date.UTC(year, monthIndex, day, hour, minute, second)
Date.UTC(year, monthIndex, day, hour, minute, second, millisecond)

Параметри

year

Ціле число, що представляє рік. Значення від 0 до 99 відображають роки 1900 до 1999. Усі інші значення відповідають фактичному року.

автор: Bond

monthIndex

Ціле число, що представляє місяць, починаючи з 0 для січня до 11 для грудня. За замовчуванням встановлено значення 0.

автор: Bond

day

Ціле число, що представляє день місяця. За замовчуванням встановлено значення 1.

автор: Bond

hours

Ціле число від 0 до 23, що представляє годину доби. За замовчуванням встановлено значення 0.

автор: Bond

minutes

Ціле число, що представляє хвилини. За замовчуванням встановлено значення 0.

автор: Bond

seconds

Ціле число, що представляє секунди. За замовчуванням встановлено значення 0.

автор: Bond

milliseconds

Ціле число, що представляє мілісекунди. За замовчуванням встановлено значення 0.

автор: Bond

Повернення

timestamp

Повертає число, що представляє часову мітку заданої дати. Якщо дата неправильна, буде повернено NaN.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3 12 3
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

Користувач вводить рік, місяць і день через інтерфейс введення на веб-сторінці. Після введення значень, користувач може натиснути кнопку "Обчислити UTC", і результат (час в мілісекундах від 1 січня 1970 року в UTC) буде відображено на тій же сторінці.

автор: Bond

Цей приклад ілюструє, як Date.UTC() може бути використано для створення дат в форматі UTC та їх подальшого порівняння. Якщо дата народження користувача (userBirthdayUTC) менша за дату закінчення прийому заявок (applicationDeadlineUTC), користувач може подати заявку. В іншому випадку, виводиться повідомлення, що термін подачі заявок минув.

// Використання Date.UTC() для створення двох дат в форматі UTC
let userBirthdayUTC = Date.UTC(1995, 4, 15); // 15 травня 1995 року
let applicationDeadlineUTC = Date.UTC(2023, 3, 30); // 30 квітня 2023 року

// Перевірка чи користувач може подати заявку
if (userBirthdayUTC < applicationDeadlineUTC) {
  console.log('Ви можете подати заявку.');
} else {
  console.log('Ви не можете подати заявку, термін минув.');
}
автор: Bond

У цьому прикладі Date.UTC() використовується для розрахунку віку користувача на основі його дати народження в UTC форматі. Поточна дата перетворюється в UTC, і з неї віднімається дата народження користувача. Результат перетворюється назад в об'єкт дати, і від року отриманої дати віднімається 1970, оскільки рік у JavaScript рахується від 1970 року. Таким чином, ми можемо отримати точний вік користувача.

// Використання Date.UTC() для визначення дати народження користувача
let userBirthdayUTC = Date.UTC(1995, 4, 15); // 15 травня 1995 року

// Отримання поточної дати в UTC форматі
let currentDateUTC = Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate());

// Розрахунок віку користувача
let userAge = new Date(currentDateUTC - userBirthdayUTC).getUTCFullYear() - 1970; 
console.log(`Вам ${userAge} років.`);
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід