JS метод Date.constructor()
Загальний опис
Date()
- це фундаментальний конструктор у JavaScript для роботи з часом і датою. Його можливості не обмежуються лише отриманням поточного моменту часу; він надає широкий спектр функцій для маніпулювання, порівняння та форматування дат. Як і більшість об'єктів в JavaScript, Date()
надає можливість працювати з прототипами, дозволяючи розширювати його функціональність.
Date()
може бути використаний у різноманітних ситуаціях. Від додавання дати до посту на блозі до створення складних календарних застосунків. Наприклад, він може служити основою для розробки системи нагадувань чи планування завдань. Крім цього, за допомогою Date()
можна визначати час затримки для анімацій або обчислювати тривалість виконання коду.
Ось приклад використання методу Date.UTC()
, який повертає час в мілісекундах:
let start = `Date.UTC`(2023, 0, 1);
let end = `Date.UTC`(2023, 11, 31);
let difference = end - start;
console.log(difference / (1000 * 60 * 60 * 24)); // Різниця в днях між двома датами.
Додатково, ви можете використовувати цей метод для обчислення різниці між датами, що дозволяє, наприклад, розраховувати вік користувача або термін дії підписки.
Конструктор Date()
надає різноманітні методи для отримання та встановлення компонентів дати, таких як рік, місяць, день. Додатково, ви можете отримати день тижня, годину, хвилину, секунду та мілісекунду. Важливо пам'ятати, що Date()
розрізняє локальний час від універсального (UTC), тому вам слід вибирати відповідний метод в залежності від потреб.
Індивідуальні значення компонентів дати та часу
Працюючи з датами та часом у JavaScript, дуже часто вам знадобиться докладно взаємодіяти з окремими компонентами дати та часу. Конструктор Date()
надає цю можливість, дозволяючи задавати конкретні значення для року, місяця, дня, години, хвилини, секунди та мілісекунди.
Коли ви намагаєтеся створити новий об'єкт Date()
з допомогою окремих компонентів часу та дати, JavaScript намагається бути максимально зручним для вас. Так, якщо ви передаєте значення поза своїми границями (наприклад, 13 для місяця або 65 для хвилин), він автоматично коригує значення, розраховуючи відповідний перенос.
Рік:
Якщо ви передаєте значення від 0 до 99, воно інтерпретується як роки 1900-1999. Отже, new Date(89, 0, 1)
створює дату 1 січня 1989 року.
let date1 = new Date(89, 0, 1);
console.log(date1); // Результат: Fri Jan 01 1989 00:00:00 GMT+0200
Місяць: Місяці розраховуються, починаючи з 0 для січня і до 11 для грудня. Якщо ви передаєте значення поза цим діапазоном, рік змінюється відповідно.
let date2 = new Date(2020, 12, 1);
console.log(date2); // Результат: Sat Jan 01 2021 00:00:00 GMT+0200
День: Значення за замовчуванням - 1. Отже, якщо ви передаєте 0 або від'ємне значення, місяць "запозичує" дні з попереднього місяця.
let date3 = new Date(2020, 5, 0);
console.log(date3); // Результат: Sun May 31 2020 00:00:00 GMT+0200
Година, хвилина, секунда, мілісекунда: Ці компоненти також автоматично коригуються при передачі значень поза їх діапазонами.
let date4 = new Date(2020, 5, 19, 25, 65);
console.log(date4); // Результат: Sat Jun 20 2020 02:05:00 GMT+0200
Нотатка: | Важливо зазначити, що місяці в |
Нотатка: | Якщо ви створюєте новий об'єкт |
Порада: | При створенні дати з окремими компонентами, такими як рік, місяць або день, пам'ятайте, що вони будуть інтерпретовані як місцевий час. Якщо ви хочете створити дату в UTC, використовуйте
|
Порада: | Передача значень, що виходять за рамки допустимих діапазонів, може призвести до неочікуваних результатів. Хоча |
Порада: | Хоча вбудований конструктор |
Синтаксис
new Date()
new Date(value)
new Date(dateString)
new Date(dateObject)
new Date(year, monthIndex)
new Date(year, monthIndex, day)
new Date(year, monthIndex, day, hours)
new Date(year, monthIndex, day, hours, minutes)
new Date(year, monthIndex, day, hours, minutes, seconds)
new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds)
Date()
Параметри
Return
object
Повертає новий об'єкт типу
Date
, який представляє конкретний момент у часі, залежно від наданих параметрів або поточний час і дату, якщо параметри не надані.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми створюємо новий об'єкт Date
без будь-яких параметрів. Це автоматично дає нам поточний момент у часі. Після створення об'єкта, ми виводимо його значення, отримуючи поточний час та дату.
// Створення нового об'єкта дати без параметрів повертає поточний час і дату
let currentDate = new Date();
// Вивід поточної дати та часу
console.log(`Сьогоднішня дата та час: ${currentDate}`);
У цьому прикладі ми створюємо специфічну дату, використовуючи конструктор Date()
з трьома аргументами: рік, місяць та день. Важливо пам'ятати, що місяці рахуються з 0 (тобто 0 - це січень, а 11 - грудень), тому місяць 1 відповідає лютому. Ми використовуємо це для створення дати 14 лютого 2022 року та виводимо її.
// Створення об'єкта дати для 14 лютого 2022 року
let valentinesDay = new Date(2022, 1, 14);
// Вивід створеної дати
console.log(`День Святого Валентина у 2022 році випадає на: ${valentinesDay}`);