Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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
Нотатка:

Важливо зазначити, що місяці в Date() починаються з 0. Це одна з особливостей, яку слід завжди пам'ятати. Ця особливість може спричинити плутанину для новачків, але з часом стає зрозумілою. Крім того, робота з високосними роками вимагає особливого підходу, адже лютого може бути 28 або 29 днів.

Нотатка:

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

Порада:

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

let utcDate = new Date(Date.UTC(2023, 0, 1));
console.log(utcDate); // Зверніть увагу на різницю у часі, яка може з'явитися в залежності від вашого місцевого часового поясу.
Порада:

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

Порада:

Хоча вбудований конструктор Date() надає базові функції для роботи з датами, іноді може бути корисно звертатися до зовнішніх бібліотек, таких як moment.js або date-fns, для більш складних операцій. Ці бібліотеки надають зручні утиліти для роботи з датами, такі як форматування, робота з часовими поясами або додавання та віднімання дат.

Синтаксис

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}`);