Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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, що підкреслює важливість валідації дат перед конвертацією.

Нотатка:

Пам'ятайте, що Date.prototype.toISOString() повертає завжди час в UTC. Якщо вам потрібно представити час в іншому часовому поясі, вам буде потрібно використовувати додаткові бібліотеки або власні рішення для конвертації часових поясів.

Порада:

Коли ви використовуєте Date.prototype.toISOString() для створення рядків дати, які будуть відправлені на сервер або отримані з сервера, переконайтеся, що сервер також розуміє формат ISO 8601 і може правильно обробити отриману дату.

Порада:

Враховуйте, що кожен виклик Date.prototype.toISOString() створює новий рядок, що може вплинути на продуктивність, якщо ви конвертуєте велику кількість дат. У такому випадку розгляньте можливість використання кешування або інших оптимізацій.

Нотатка:

Перед використанням метода Date.prototype.toISOString(), завжди переконуйтеся, що об'єкт дати дійсний. Недійсні дати викличуть виняток RangeError, тому корисно додати валідацію дати перед її конвертацією.

let date = new Date('invalid-date');
if (isNaN(date.getTime())) {
  console.error('The date is invalid');
} else {
  console.log(date.toISOString());
}

Синтаксис

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"
}