JS метод Date.getUTCDay()
Загальний опис
Date.prototype.getUTCDay() є однією із властивостей об'єкта Date у JavaScript, яка дозволяє отримати день тижня у форматі від 0 (неділя) до 6 (субота) за координованим універсальним часом (UTC). Завдяки цьому методу можна визначити день тижня будь-якої дати без врахування змінного часового поясу користувача.
Наприклад, уявімо, що ви створюєте сервіс для бронювання столиків у ресторані, який працює лише у будні дні. Щоб переконатися, що клієнт обирає правильний день, можна використовувати Date.prototype.getUTCDay() для визначення дня тижня та відкидання неділь та субот:
let chosenDate = new Date('2023-09-14');
let dayOfWeek = chosenDate.getUTCDay();
if (dayOfWeek === 0 || dayOfWeek === 6) {
console.log('Вибачте, ресторан закритий. Оберіть інший день.');
} else {
console.log('Ресторан відкритий! Продовжуйте бронювання.');
}
У контексті додатків, які працюють з глобальними користувачами з різних часових поясів, Date.prototype.getUTCDay() стає незамінним. Це тому, що цей метод виводить день тижня за універсальним координованим часом (UTC), а не за локальним часом користувача.
Особливо це стає важливим при роботі з серверами. Коли дата та час обробляються на сервері, це часто робиться в UTC, щоб уникнути плутанини з часовими поясами. Використовуючи Date.prototype.getUTCDay(), розробники можуть впевнитися, що вони отримують правильний день тижня незалежно від локального часу сервера чи користувача.
- Порада
-
Для досвідчених розробників важливо розуміти, що сервери часто обробляють дату та час у форматі UTC. Отже, коли ви спілкуєтеся із серверами або взаємодієте із базами даних, завжди враховуйте, який формат часу ви використовуєте, щоб уникнути можливих непорозумінь або помилок.
автор: Bond - Порада
-
Професіонали розуміють важливість читабельності коду. Замість безпосереднього порівняння значень від
автор: BondgetUTCDay()із цифрами, використовуйте константи з осмисленими назвами, як`const SUNDAY = 0;`, щоб зробити ваш код більш зрозумілим для інших. - Порада
-
Основна відмінність між
Date.prototype.getUTCDay()таDate.prototype.getDay()полягає в тому, що перший виводить день тижня за універсальним координованим часом (UTC), тоді як другий враховує локальний час користувача. Переконайтеся, що завжди використовуєте потрібний метод в залежності від вашої задачі. Наприклад:
автор: Bondlet localDay = new Date().getDay(); let UTCDay = new Date().getUTCDay(); console.log(`Локальний день тижня: ${localDay}`); console.log(`UTC день тижня: ${UTCDay}`); - Порада
-
Щоб зробити ваш код читабельнішим та зручнішим для користувача, можна створити масив із назвами днів тижня та використовувати значення, отримані від
getUTCDay(), як індекси.
автор: Bondconst daysOfWeek = ['Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П'ятниця', 'Субота']; let UTCDay = new Date().getUTCDay(); console.log(`Сьогодні: ${daysOfWeek[UTCDay]}`);
Синтаксис
getUTCDay()
Повернення
integer-
Повертає номер дня тижня у форматі UTC, де 0 відповідає неділі, а 6 - суботі.
автор: Bond
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 4 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
У цьому прикладі ми використовуємо метод getUTCDay() для визначення поточного дня тижня. Потім розраховуємо, скільки днів залишилося до наступної суботи, та повідомляємо користувачеві про це.
// Створюємо масив із назвами днів тижня
const daysOfWeek = ['Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'];
// Отримуємо поточний день тижня у форматі UTC
const currentDay = new Date().getUTCDay();
// Знаходимо кількість днів до наступної суботи
const daysToSaturday = (6 - currentDay + 1) % 7;
// Повідомляємо користувачеві, коли буде наступний вихідний
console.log(`До наступної суботи залишилося ${daysToSaturday} днів.`);
У другому прикладі ми маємо словник завдань для кожного дня тижня. Використовуючи метод getUTCDay(), ми можемо дізнатися поточний день тижня та отримати список завдань, які необхідно виконати сьогодні.
// Список завдань для кожного дня тижня
const tasksOfWeek = {
'0': ['Відпочинок'],
'1': ['Зустріч з клієнтом', 'Розробка додатку'],
'2': ['Тестування програми', 'Обговорення проекту'],
'3': ['Відпрацювання помилок', 'Документація'],
'4': ['Маркетингова кампанія', 'Відпрацювання зворотнього зв\'язку'],
'5': ['Зустріч з командою'],
'6': ['Відпочинок']
};
// Отримуємо поточний день тижня у форматі UTC
const currentDay = new Date().getUTCDay();
// Виводимо завдання на сьогоднішній день
console.log(`Завдання на сьогодні: ${tasksOfWeek[currentDay].join(', ')}`);
Цей приклад демонструє використання методу Date.prototype.getUTCDay(). Коли користувач вибирає дату з календаря, відображається день тижня для вибраної дати у форматі UTC.
Коментарі
Коментарів ще немає — будьте першим!