JS метод Date.toISOString()
Загальний опис
Метод Date.prototype.toISOString()
– це метод, який в JavaScript використовується для конвертації об'єкта дати в рядок за стандартом ISO 8601, представляючи дату та час в UTC. Важливість даного методу полягає в тому, що він дозволяє забезпечити однакове представлення дати і часу незалежно від часового поясу, що робить його корисним при транспортуванні дати між різними системами та платформами, наприклад, при розробці API.
Таким чином, Date.prototype.toISOString()
часто використовується у розробці веб-застосунків для узгодження дати і часу між сервером і клієнтом. Основні сфери застосування – це веб-розробка, розробка API, а також будь-які інші області, де важливо відображення часу в уніфікованому форматі.
Особливістю цього методу є те, що він завжди повертає рядок у форматі YYYY-MM-DDTHH:mm:ss.sssZ
. Наприклад, для дати 1 січня 2022 року об 13:15:30.123 метод поверне рядок "2022-01-01T13:15:30.123Z". Зазначимо, що в кінці рядка присутній символ 'Z', який позначає часовий пояс UTC.
let currentDate = new Date();
console.log(currentDate.toISOString()); // Виводить поточну дату і час в форматі ISO 8601, наприклад "2023-09-24T18:15:30.123Z"
У цьому прикладі ми використовуємо метод toISOString()
для отримання поточної дати та часу в форматі ISO 8601.
Треба відзначити, що метод Date.prototype.toISOString()
не модифікує початковий об'єкт дати, а замість цього створює новий рядок, представляючи дату в потрібному форматі. Це важливо враховувати при розробці програм, де необхідно зберегти оригінальний об'єкт дати без змін.
Для більш досвідчених програмістів цікавою може бути інформація про те, що в разі, якщо дата об'єкта недійсна (наприклад, якщо ви спробуєте встановити місяць як 13), метод toISOString()
генерує виняток RangeError. Таким чином, розробники повинні бути обережні та впевнені, що дата, яку вони конвертують, є дійсною.
let invalidDate = new Date('invalid-date');
invalidDate.toISOString(); // Викидує виняток RangeError
У цьому прикладі, спроба виклику toISOString()
для недійсного об'єкта дати викликає виняток RangeError, що підкреслює важливість валідації дат перед конвертацією.
Нотатка: | Пам'ятайте, що |
Порада: | Коли ви використовуєте |
Порада: | Враховуйте, що кожен виклик |
Нотатка: | Перед використанням метода
|
Синтаксис
toISOString()
Параметри
Return
string
Повертає рядок, який представляє задану дату у форматі рядка дати та часу за універсальним часом. Це той самий формат, який має бути розпізнаний методом
Date.parse()
.
Exception
Виключення RangeError
генерується, якщо дата є недійсною або відповідає року, який не може бути представлений у форматі рядка дати. Наприклад, для дат, які знаходяться за межами діапазону для представлення року у форматі ISO 8601, буде виникати це виключення.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
3 |
1 |
4 |
10.5 |
12 |
Переглядач | ||||
---|---|---|---|---|
37 |
18 |
4 |
3.2 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Цей приклад демонструє, як можна конвертувати поточну дату та час в рядок за стандартом ISO 8601 за допомогою методу Date.prototype.toISOString()
. Користувач може натиснути кнопку, щоб виконати конвертацію, і побачити результат у вигляді рядка ISO 8601 на сторінці.
У цьому прикладі ми створюємо новий об'єкт дати, currentDate
, який представляє поточний момент часу. Після цього ми використовуємо метод Date.prototype.toISOString()
для отримання рядка формату ISO 8601, який виводимо в консоль.
// Створюємо новий об'єкт дати для поточного часу
const currentDate = new Date();
// Використовуємо метод .toISOString() для конвертації поточного часу в рядок формату ISO 8601
const isoString = currentDate.toISOString();
// Виводимо отриманий рядок в консоль
console.log(isoString); // наприклад: "2023-09-24T13:47:26.000Z"
У цьому прикладі ми обробляємо дату, введену користувачем, як рядок і конвертуємо його в об'єкт Date
з використанням конструктора Date
. Далі, ми використовуємо метод getTime()
для перевірки, чи є отримана дата дійсною. Якщо дата дійсна, ми використовуємо метод Date.prototype.toISOString()
для конвертації дати в рядок формату ISO 8601.
// Припустимо, користувач вводить дату у форматі MM/DD/YYYY
const userInput = '09/24/2023';
// Перетворюємо введену користувачем дату в об'єкт Date
const userDate = new Date(userInput);
// Перевіряємо, чи є дата дійсною
if (isNaN(userDate.getTime())) {
console.error('Недійсна дата');
} else {
// Конвертуємо дійсну дату в рядок формату ISO 8601
const isoString = userDate.toISOString();
console.log(isoString); // "2023-09-24T04:00:00.000Z"
}