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);
