JavaScript метод Date.setMilliseconds()
Определение и применение
JavaScript метод setMilliseconds() объекта
Date
устанавливает миллисекунды для указанной даты по местному времени.
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
setMilliseconds | 1 | 12 | 1 | 4 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
dateObj.setMilliseconds(msValue);Значения параметров
| Параметр | Описание |
|---|---|
msValue |
Целое число от 0 до 999, представляющее миллисекунды. Если значение больше 999, то значение времени будет увеличиваться на дополнительные миллисекунды. Обязательный параметр. |
Возвращаемое значение и особенности
Метод изменяет исходный объект и возвращает новую метку времени — число миллисекунд от
1970-01-01T00:00:00.000Z, а не объект Date. Если аргумент преобразуется в
NaN (в том числе явно переданный undefined), дата становится недействительной и возвращается
NaN. Пропуск обязательного аргумента также приводит к NaN.
Аргументы преобразуются к числам; дробная часть отбрасывается. Бесконечные значения и результат за пределами
диапазона Date (±8,64 × 1015 миллисекунд от эпохи) дают Invalid Date.
Значения за пределами обычного диапазона, включая отрицательные, переносятся в соседние компоненты даты.
Если исходный объект содержит Invalid Date, этот метод не восстанавливает его: результат остаётся
NaN.
Изменение происходит по местному времени. При переходе на летнее или зимнее время разность меток может отличаться от
ожидаемого числа часов. Для сдвига на фиксированное число миллисекунд используйте
setTime(). При повторяющемся местном времени выбирается более ранний момент, а несуществующее время сдвигается вперёд на
длительность пропуска.
Спецификация
ECMAScript — Date.prototype.setMilliseconds(). Метод входит в стандарт начиная с ECMAScript 1.
Примеры, попробуйте сами
setMilliseconds() — пример 1
Измените аргументы и нажмите . Каждый вызов в этом примере начинается с исходной даты; сравните изменённые компоненты с комментариями.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
// Каждый вариант начинается с 14 февраля 2019 года, 12:00 по местному времени.
let someDay
// Компоненты времени: часы, минуты, секунды и миллисекунды.
function timeParts(date) {
return [date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()]
}
someDay = new Date(2019, 1, 14, 12)
someDay.setMilliseconds(900)
console.log(timeParts(someDay)) // [12,0,0,900]
someDay = new Date(2019, 1, 14, 12)
someDay.setMilliseconds(20999)
console.log(timeParts(someDay)) // [12,0,20,999]
Возвращаемая метка и Invalid Date
Сравните результат метода с getTime(). Явно переданный undefined делает дату недействительной.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
const date = new Date(2019, 1, 14, 12)
const timestamp = date.setMilliseconds(500)
console.log(typeof timestamp) // "number"
console.log(timestamp === date.getTime()) // true
console.log(date.setMilliseconds(undefined)) // NaN
console.log(Number.isNaN(date.getTime())) // true