JS метод Date.setTime()
Загальний опис
Метод Date.prototype.setTime()
в JavaScript використовується для встановлення часу для об'єкта дати, вимірюваного в мілісекундах від 1 січня 1970 року UTC, що представляє початкову точку часу, відому як "epoch time".
Метод Date.prototype.setTime()
є дуже корисним, коли потрібно внести зміни до вже існуючого об'єкта дати, наприклад, для коригування часу на основі різних часових поясів чи для додавання та віднімання часу. Цей метод є основним інструментом для маніпулювання датами та часом у JavaScript, і він може бути використаний у веб-розробці для створення функціональних та гнучких додатків, які можуть враховувати часові параметри.
Основна особливість методу Date.prototype.setTime()
полягає у тому, що він приймає єдиний аргумент — час у мілісекундах. Це число представляє кількість мілісекунд, що минули з 1 січня 1970 року UTC.
let date = new Date(); // Створюємо новий об'єкт дати з поточним часом
date.setTime(0); // Встановлюємо час об'єкта дати на 1 січня 1970 року UTC
console.log(date);
У цьому прикладі, ми спочатку створюємо новий об'єкт дати, який представляє поточний час, а потім використовуємо setTime()
для зміни цього часу на початкову точку часу.
Для більш досвідчених програмістів важливо знати, що Date.prototype.setTime()
повертає числове значення, яке представляє встановлений час у мілісекундах від "epoch time", тобто цей метод можна використовувати не тільки для встановлення часу, а й для його отримання. Наприклад:
let date = new Date();
let timeInMilliseconds = date.setTime(5000); // 5 секунд після 1 січня 1970 року UTC
console.log(timeInMilliseconds); // Виводить 5000
У цьому контексті, метод setTime()
може співпрацювати з іншими методами і властивостями об'єкта Date
, такими як getHours()
, getMinutes()
, getSeconds()
та інші для отримання більш детальної інформації про встановлену дату та час.
Нотатка: | Для досвідчених розробників, метод |
Порада: | Перш за все, завжди переконуйтесь, що значення, яке ви передаєте в
|
Порада: |
|
Синтаксис
setTime(timeValue)
Параметри
timeValue
Ціле число, яке представляє новий тимчасовий штамп (
timestamp
) — кількість мілісекунд з полуночі на початку 1 січня 1970 року за UTC.
Return
timestamp
Модифікує об'єкт
Date
на місці та повертає його новийtimestamp
. ЯкщоtimeValue
єNaN
(або інші значення, які конвертуються вNaN
, такі якundefined
), то дата встановлюється як "Invalid Date", і повертаєтьсяNaN
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Цей приклад демонструє використання методу Date.prototype.setTime()
для додавання та віднімання години від поточного часу об'єкта Date
. Користувач може взаємодіяти з цим прикладом, використовуючи кнопки для додавання та віднімання години, і бачити результат у вигляді виведеного часу під кнопками.
У цьому прикладі створюється новий об'єкт Date
, що представляє поточну дату і час. Потім, використовуючи метод Date.prototype.setTime()
, час цього об'єкта оновлюється, додаючи до поточного часу 10 годин. В результаті, в консоль буде виведено оновлену дату і час.
// Створення нового об'єкта Date
let currentDate = new Date();
console.log('Початкова дата:', currentDate);
// Оновлення часу об'єкта Date за допомогою методу setTime
// Додаємо 10 годин (10 * 60 * 60 * 1000 мілісекунд)
currentDate.setTime(currentDate.getTime() + 10 * 60 * 60 * 1000);
console.log('Оновлена дата:', currentDate);
У цьому прикладі, також створюється новий об'єкт Date
з поточною датою і часом. Потім, використовуючи метод Date.prototype.setTime()
, час для цього об'єкта встановлюється на 0 мілісекунд, який відповідає початку епохи Unix (1 січня 1970 року UTC). Таким чином, в консоль виводиться дата та час початку епохи Unix.
// Створення нового об'єкта Date
let currentDate = new Date();
console.log('Початкова дата:', currentDate);
// Встановлення часу об'єкта Date на початок епохи Unix за допомогою методу setTime
currentDate.setTime(0);
console.log('Дата початку епохи Unix:', currentDate);