JavaScript метод Date.toISOString()
Определение и применение
JavaScript метод toISOString() объекта
Date
преобразует дату в строку в формате
ISO 8601, этот формат всегда имеет длину 24 или 27 символов:
YYYY-MM-DDTHH:mm:ss.sssZ
±YYYYYY-MM-DDTHH:mm:ss.sssZЧасовой пояс всегда имеет нулевое смещение UTC, обозначаемое суффиксом "Z".
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
toISOString | 3 | 12 | 1 | 10.5 | 4 | 18 | 4 | 11 | 3.2 | 1.0 | 4.4 | 3.2 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
dateObj.toISOString();Возвращаемое значение и ошибки
Исходная дата не изменяется. Для действительной даты результат — строка в UTC: 24 символа при четырёхзначном годе или 27 при расширенном годе со знаком.
Метод не принимает параметров. Для Invalid Date выбрасывается RangeError. Это отличается от
toJSON(), который для такой даты возвращает null.
Спецификация
ECMAScript — Date.prototype.toISOString(). Метод входит в стандарт начиная с ECMAScript 5.
Примеры, попробуйте сами
toISOString() — пример 1
Измените исходные значения и нажмите . Сравните результат с комментариями; строка результата всегда использует UTC.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
// Строка без времени задаёт полночь по UTC.
const date = new Date('2019-04-01')
const dateString = date.toISOString()
console.log(dateString) // "2019-04-01T00:00:00.000Z"
console.log(typeof dateString) // "string"
RangeError и расширенный год
Перехватите ошибку недействительной даты и сравните обычный год с шестизначным.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
try {
console.log(new Date(NaN).toISOString())
} catch (error) {
console.log(error.name) // "RangeError"
}
console.log(new Date('+010000-01-01T00:00:00Z').toISOString()) // "+010000-01-01T00:00:00.000Z"