Date.getMonth() в JavaScript — номер місяця від 0 до 11
Загальний опис
Date.prototype.getMonth() - це метод об'єкта Date в JavaScript, який призначений для отримання місяця вказаної дати відповідно до місцевого часу. Індекс місяця, який повертається цим методом, починається з 0 для січня і закінчується значенням 11 для грудня. Це означає, що для отримання традиційного номера місяця (1 для січня, 12 для грудня) вам потрібно буде додати 1 до результату методу.
Застосування цього методу дуже корисне в різних задачах програмування, зокрема при роботі з датами і часом. Він допомагає дізнатися, в якому місяці відбулося певна подія, або визначити часовий проміжок між двома датами. Прикладом може бути виведення повідомлення користувачеві про те, який зараз місяць, або відстеження активності користувача на веб-сайті по місяцям.
Приклад:
let currentDate = new Date();
let currentMonth = currentDate.getMonth();
console.log(`Поточний місяць має індекс: ${currentMonth}`);
В цьому прикладі ми створюємо новий об'єкт дати, що представляє поточний час і дату, а потім за допомогою getMonth() отримуємо індекс місяця.
Важливо пам'ятати, що Date.prototype.getMonth() повертає індекс місяця, який починається з 0 (для січня) і доходить до 11 (для грудня). Тому, якщо ви хочете отримати звичайний номер місяця, додайте 1 до результату.
Приклад:
let date = new Date();
let humanReadableMonth = date.getMonth() + 1;
console.log(`Поточний місяць: ${humanReadableMonth}`);
Також важливо пам'ятати, що Date.prototype.getMonth() відображає місяць відповідно до місцевого часу користувача. Це може призвести до відмінностей результатів при використанні в різних часових поясах.
- Порада
-
Якщо ви активно працюєте з датами і часом в різних часових поясах або потребуєте виконувати складні операції (наприклад, порівняння, додавання, віднімання), рекомендується використовувати спеціалізовані бібліотеки, такі як
автор: BondMoment.jsабоDate-fns. Ці бібліотеки значно спрощують роботу з датами і підвищують продуктивність. - Нотатка
-
При розробці функцій, що опрацьовують діапазони дат, не забувайте про особливість індексації місяців. Це може викликати непередбачувані помилки, особливо якщо ви спробуєте встановити місяць без урахування цього.
Приклад:
автор: Bondlet startMonth = 3; // Квітень let date = new Date(); date.setMonth(startMonth - 1); // Встановлюємо березень через індексацію
Синтаксис
getMonth()
Повернення
integer-
Повертає місяць вказаної дати як число від 0 до 11, де 0 відповідає січню, а 11 - грудню.
автор: Bond
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 3 | 12 | 4 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
У цьому прикладі, при натисканні на кнопку, використовується метод Date.prototype.getMonth() для отримання поточного місяця як числа. Це число потім конвертується у назву місяця за допомогою масиву monthNames і відображається на сторінці.
HTML
<header>
<h2 class="title">Date.prototype.getMonth()</h2>
<p class="description">Отримання поточного місяця як числа (від 0 до 11).</p>
</header>
<main>
<div class="result">
<button onclick="displayCurrentMonth()">Отримати поточний місяць</button>
<p id="output">Тут буде відображено поточний місяць.</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);
}
button {
padding: 10px 20px;
margin-right: 15px;
background-color: #0099CC;
border: none;
border-radius: 4px;
color: white;
cursor: pointer;
transition: background-color 0.3s;
}
button:hover {
background-color: #0077A7;
}
#output {
margin-top: 20px;
}
JS
function displayCurrentMonth() {
let today = new Date();
let month = today.getMonth();
let monthNames = ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"];
document.getElementById('output').textContent = `Поточний місяць: ${monthNames[month]}`;
}
//# sourceURL=pen.js
У цьому прикладі ми створюємо новий об'єкт дати з допомогою new Date(). Потім ми отримуємо поточний місяць з допомогою методу getMonth(). І в залежності від отриманого місяця, ми визначаємо пору року.
// Створюємо новий об'єкт дати
let currentDate = new Date();
// Отримуємо поточний місяць
let currentMonth = currentDate.getMonth();
// Визначаємо пору року на основі поточного місяця
let season;
if (currentMonth >= 2 && currentMonth <= 4) {
season = "весна";
} else if (currentMonth >= 5 && currentMonth <= 7) {
season = "літо";
} else if (currentMonth >= 8 && currentMonth <= 10) {
season = "осінь";
} else {
season = "зима";
}
console.log(`Зараз ${season}!`);
У цьому прикладі ми припускаємо, що маємо місяць дня народження користувача, який зберігається в константі BIRTHDAY_MONTH. Ми отримуємо поточний місяць з допомогою методу getMonth() і порівнюємо його з місяцем дня народження. Якщо вони співпадають, ми виводимо привітання користувачеві.
// Припустимо, що день народження користувача у вересні
const BIRTHDAY_MONTH = 8; // вересень (0-січень, 8-вересень)
// Отримуємо поточну дату та місяць
let today = new Date();
let thisMonth = today.getMonth();
// Перевіряємо, чи сьогодні місяць дня народження користувача
if (thisMonth === BIRTHDAY_MONTH) {
console.log("Вітаємо з місяцем вашого дня народження!");
} else {
console.log("Сьогодні не місяць вашого дня народження.");
}
Коментарі
Коментарів ще немає — будьте першим!