JS метод Date.setHours()
Загальний опис
Date.prototype.setHours()
є вбудованим методом в JavaScript, який призначений для встановлення годин для конкретного об'єкта дати. Цей метод надає гнучкість у керуванні датами та часом, дозволяючи динамічно модифікувати або коригувати години в існуючому об'єкті дати.
Розглянемо практичний приклад. Припустимо, у вас є веб-сайт, на якому відображається час заходу сонця для різних міст. Однак, час заходу сонця може змінюватися в залежності від певних умов. Щоб динамічно коригувати цей час, можна використовувати Date.prototype.setHours()
.
let sunset = new Date();
sunset.setHours(19); // Встановлюємо час заходу сонця на 19:00
console.log(sunset);
Тепер, якщо у вас є інформація, що час заходу сонця змінився на 15 хвилин пізніше, ви можете легко скоригувати це:
let minutes = sunset.getMinutes();
sunset.setHours(19, minutes + 15); // Коригуємо час на 15 хвилин пізніше
console.log(sunset);
Крім основної функції встановлення годин, метод також дозволяє встановлювати хвилини, секунди та мілісекунди. Це може бути корисним, наприклад, коли потрібно врахувати часовий пояс користувача та відобразити точний локальний час події:
let userEvent = new Date();
userEvent.setHours(14, 30, 0, 0); // Встановлюємо час події на 14:30:00.000
console.log(userEvent);
Нотатка: | Хоча JavaScript автоматично коригує значення поза допустимим діапазоном (наприклад, 25 годин стануть 1 годиною наступного дня), такі ситуації можуть призвести до неочікуваних результатів. Завжди переконуйтеся, що передаєте коректні значення в |
Нотатка: | Метод Приклад:
|
Нотатка: | Методи, такі як Приклад:
|
Порада: | При роботі з методом Приклад:
|
Синтаксис
setHours(hoursValue)
setHours(hoursValue, minutesValue)
setHours(hoursValue, minutesValue, secondsValue)
setHours(hoursValue, minutesValue, secondsValue, msValue)
Параметри
- *
hoursValue
Ціле число від 0 до 23, яке представляє години.
minutesValue
Ціле число від 0 до 59, що представляє хвилини.
secondsValue
Ціле число від 0 до 59, що представляє секунди. Якщо ви вказуєте
secondsValue
, ви також повинні вказатиminutesValue
.msValue
Ціле число від 0 до 999, що представляє мілісекунди. Якщо ви вказуєте
msValue
, ви також повинні вказати іminutesValue
, іsecondsValue
.
Return
timestamp
Метод модифікує об'єкт
Date
, і повертає його новий часовий штамп (timestamp
). Якщо параметр єNaN
(або інші значення, які конвертуються вNaN
, такі якundefined
), дата встановлюється як "Invalid Date" і повертаєтьсяNaN
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Цей приклад демонструє використання методу Date.prototype.setHours()
для встановлення конкретної години для поточної дати. Користувач може вибрати годину через вхідне поле, натиснути кнопку, і внизу відображатиметься оновлений час.
У цьому прикладі ми спочатку отримуємо поточну дату та час за допомогою об'єкта Date
. Потім, використовуючи метод setHours()
, ми змінюємо годину на 15, тобто на 3 година дня.
// Створюємо новий об'єкт дати для поточного часу
let currentDate = new Date();
console.log("Поточний час:", currentDate);
// Використовуючи метод setHours(), змінюємо годину на 15 (3 година дня)
currentDate.setHours(15);
console.log("Змінений час:", currentDate);
У цьому прикладі ми також починаємо із створення об'єкта Date
для поточного часу. Потім, використовуючи метод getHours()
, отримуємо поточну годину і додаємо до неї 5 годин. Результат записуємо назад у об'єкт now
за допомогою методу setHours()
.
// Створюємо новий об'єкт дати для поточного часу
let now = new Date();
console.log("Поточний час:", now);
// Додаємо 5 годин до поточного часу
let newHour = now.getHours() + 5;
now.setHours(newHour);
console.log("Час після додавання 5 годин:", now);