JavaScript метод Date.setTime()

Определение и применение

JavaScript метод setTime() объекта Date устанавливает для объекта Date значение времени, представленное числом миллисекунд с 00:00:00 1 января 1970 года по UTC. Метод возвращает количество миллисекунд между 1 января 1970 00:00:00 UTC и обновленной датой.

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.Date.setTime
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
setTime✓1✓12✓1✓3✓1✓18✓4✓10.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
dateObj.setTime(timeValue);

Значения параметров

setTime(): параметры
Параметр Описание
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
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
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
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
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