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

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

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

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

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

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

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(), розробники можуть впевнитися, що вони отримують правильний день тижня незалежно від локального часу сервера чи користувача.

Порада:

Основна відмінність між Date.prototype.getUTCDay() та Date.prototype.getDay() полягає в тому, що перший виводить день тижня за універсальним координованим часом (UTC), тоді як другий враховує локальний час користувача. Переконайтеся, що завжди використовуєте потрібний метод в залежності від вашої задачі. Наприклад:

let localDay = new Date().getDay();
let UTCDay = new Date().getUTCDay();

console.log(`Локальний день тижня: ${localDay}`);
console.log(`UTC день тижня: ${UTCDay}`);
Порада:

Щоб зробити ваш код читабельнішим та зручнішим для користувача, можна створити масив із назвами днів тижня та використовувати значення, отримані від getUTCDay(), як індекси.

const daysOfWeek = ['Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П'ятниця', 'Субота'];
let UTCDay = new Date().getUTCDay();

console.log(`Сьогодні: ${daysOfWeek[UTCDay]}`);
Порада:

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

Порада:

Професіонали розуміють важливість читабельності коду. Замість безпосереднього порівняння значень від getUTCDay() із цифрами, використовуйте константи з осмисленими назвами, як `const SUNDAY = 0;`, щоб зробити ваш код більш зрозумілим для інших.

Синтаксис

getUTCDay()

Параметри

Return

integer

Повертає номер дня тижня у форматі UTC, де 0 відповідає неділі, а 6 - суботі.

Переглядачі

Переглядач

1

1

1

4

12

Переглядач

4.4

18

4

1

Переглядач

0.10.0

1.0

Приклади


Цей приклад демонструє використання методу Date.prototype.getUTCDay(). Коли користувач вибирає дату з календаря, відображається день тижня для вибраної дати у форматі UTC.

У цьому прикладі ми використовуємо метод 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(', ')}`);