getUTCMonth() в JavaScript — номер місяця за часом UTC
Загальний опис
Date.prototype.getUTCMonth() – це метод, вбудований у прототип об'єкта Date в JavaScript. Він призначений для отримання місяця конкретного об'єкта дати за координованим всесвітнім часом (UTC). Він дозволяє вам дізнатися місяць дати, не звертаючи уваги на локальний час користувача, а оперуючи лише координованим всесвітнім часом.
Припустимо, ви розробляєте веб-додаток для міжнародної аудиторії, і вам потрібно вивести дату події. Використовуючи Date.prototype.getUTCMonth(), ви можете впевнитися, що всі користувачі бачитимуть однаковий місяць події, не залежно від їх локального часу.
Приклад:
let date = new Date("2023-06-17T12:00:00Z");
console.log(date.getUTCMonth()); // виведе: 5, оскільки лічення йде з 0, тому 5 відповідає червню
Основні особливості та прийоми роботи з Date.prototype.getUTCMonth():
- Метод повертає значення від 0 до 11, де 0 відповідає січню, а 11 – грудню. Тобто, замість того, щоб отримувати звичайне людське представлення місяця (від 1 до 12), ми отримуємо індексоване представлення місяця, яке починається з 0.
- Якщо ви хочете отримати "людське" представлення місяця, просто додайте 1 до отриманого результату.
Приклад:
let date = new Date("2023-06-17T12:00:00Z");
let humanMonth = date.getUTCMonth() + 1;
console.log(humanMonth); // виведе: 6, що відповідає червню
Одна з ключових відмінних особливостей методу Date.prototype.getUTCMonth() від інших методів, таких як Date.prototype.getMonth(), полягає в тому, що він завжди повертає місяць в UTC, а не в локальному часі.
- Порада
-
Коли ви розробляєте систему для користувачів з різних часових поясів, завжди рекомендується працювати з датами в форматі UTC. Використовуючи методи, як
автор: BondDate.prototype.getUTCMonth(), ви уникнете багатьох пасток, пов'язаних з локальним часом користувачів. - Порада
-
Розгляньте використання сторонніх бібліотек для роботи з датами. Незважаючи на корисність вбудованих методів дати, бібліотеки, такі як
автор: Bondmoment.jsабоdate-fns, надають більше функцій, гнучкості та зручності у роботі. Якщо ви регулярно працюєте з складними датами та часовими операціями, рекомендується розглянути їх використання. - Нотатка
-
Пам'ятайте, що січень - це 0, а грудень - 11. Якщо ви збільшуєте або зменшуєте значення місяця, у вас можуть виникнути ситуації, коли потрібно коригувати рік.
Приклад:
автор: Bondlet date = new Date("2023-12-15T12:00:00Z"); let nextMonth = (date.getUTCMonth() + 1) % 12; // Результат буде 0, а не 12
Синтаксис
getUTCMonth()
Повернення
integer-
Повертає ціле число від 0 до 11, яке представляє місяць в даті за UTC. Значення 0 відповідає січню, 1 — лютому, і так далі до 11, яке відповідає грудню.
автор: Bond
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 4 | 12 | 4 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
У цьому прикладі користувач вводить дату свого народження. Після натискання на кнопку, з допомогою метода Date.prototype.getUTCMonth() отримується місяць цієї дати за UTC та відображається на екрані.
HTML
<header>
<h2 class="title">Date.prototype.getUTCMonth()</h2>
<p class="description">Отримує місяць вказаної дати за UTC.</p>
</header>
<main>
<div class="result">
<label for="birthdate">Введіть дату свого народження:</label>
<input type="date" id="birthdate" />
<button onclick="displayUtcBirthMonth()">Дізнатися місяць народження за UTC</button>
<p>Ваш місяць народження за UTC: <span id="utc-month">...</span></p>
</div>
</main>
CSS
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
-webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
-moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
header h2.title {
padding-bottom: 15px;
border-bottom: 1px solid #999;
}
header p.description {
font-style: italic;
color: #222;
}
.result {
background-color: #f8f8f8;
padding: 15px;
-webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
-moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
JS
function displayUtcBirthMonth() {
const birthdateInput = document.getElementById('birthdate');
const birthdate = new Date(birthdateInput.value);
const months = ['Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'];
const monthUTC = birthdate.getUTCMonth();
document.getElementById('utc-month').innerText = months[monthUTC];
}
//# sourceURL=pen.js
У цьому прикладі ми створюємо дату, яку хочемо перевірити. За допомогою методу getUTCMonth ми отримуємо місяць цієї дати. Ми перевіряємо, чи цей місяць належить другому півріччю року (тобто місяцям з липня по грудень, що в індексації місяців відповідає 6-11). Результат, який показує, чи дата належить другому півріччю, виводиться в консоль.
// Створення дати для перевірки
let checkDate = new Date("2023-09-15T12:00:00Z");
// Отримання місяця дати
let monthToCheck = checkDate.getUTCMonth();
// Перевірка, чи місяць належить другому півріччю
let isSecondHalf = monthToCheck >= 6;
console.log("Дата належить другому півріччю:", isSecondHalf);
У цьому прикладі ми створюємо новий об'єкт Date і отримуємо поточний місяць в UTC за допомогою методу getUTCMonth. Потім, на основі значення місяця, ми визначаємо пору року. Результат виводиться в консоль.
// Створення нової дати
let date = new Date();
// Отримання поточного місяця в UTC
let month = date.getUTCMonth();
// Визначення пори року
let season;
if (month >= 2 && month <= 4) {
season = "Весна";
} else if (month >= 5 && month <= 7) {
season = "Літо";
} else if (month >= 8 && month <= 10) {
season = "Осінь";
} else {
season = "Зима";
}
console.log("Поточна пора року:", season);
Коментарі
Коментарів ще немає — будьте першим!