JavaScript метод Date.setTime()
Определение и применение
JavaScript метод setTime() объекта
Date
устанавливает для объекта Date значение времени, представленное числом миллисекунд с
00:00:00 1 января 1970 года по UTC. Метод возвращает количество миллисекунд между
1 января 1970 00:00:00 UTC и обновленной датой.
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
setTime | 1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
dateObj.setTime(timeValue);Значения параметров
| Параметр | Описание |
|---|---|
timeValue |
Целое число, представляющее количество миллисекунд с 00:00:00 1 января 1970 года по UTC. Обязательный параметр. |
Возвращаемое значение и особенности
Метод изменяет исходный объект и возвращает новую метку времени — число миллисекунд от
1970-01-01T00:00:00.000Z, а не объект Date. Если аргумент преобразуется в
NaN (в том числе явно переданный undefined), дата становится недействительной и возвращается
NaN. Пропуск обязательного аргумента также приводит к NaN.
Аргументы преобразуются к числам; дробная часть отбрасывается. Бесконечные значения и результат за пределами
диапазона Date (±8,64 × 1015 миллисекунд от эпохи) дают Invalid Date.
Значение задаётся независимо от часового пояса. Отрицательное число обозначает момент до начала эпохи. Допустимая
метка времени восстанавливает даже объект Invalid Date.
Спецификация
ECMAScript — Date.prototype.setTime(). Метод входит в стандарт начиная с ECMAScript 1.
Примеры, попробуйте сами
setTime() — пример 1
Измените аргументы и нажмите . Сравните числовую метку времени и дату, скопированную в другой объект.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
const someDay = new Date('2019-02-14T12:00:00+03:00')
const copy = new Date(0)
// Метод изменяет copy и возвращает число, а не новый объект Date.
const timestamp = copy.setTime(someDay.getTime())
console.log(timestamp) // 1550134800000
console.log(copy.toISOString()) // "2019-02-14T09:00:00.000Z"
console.log(copy === someDay) // false
Восстановление и предел даты
Допустимая метка восстанавливает Invalid Date; значение за пределами диапазона снова делает дату недействительной.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
const date = new Date(NaN)
console.log(date.setTime(0)) // 0
console.log(date.toISOString()) // "1970-01-01T00:00:00.000Z"
console.log(date.setTime(-1000)) // -1000
console.log(date.toISOString()) // "1969-12-31T23:59:59.000Z"
console.log(date.setTime(8640000000000001)) // NaN