Без завантаження, 100% локально, без облікового запису

Конвертер тривалості за ISO 8601

Введіть тривалість за ISO 8601, щоб розбити її та конвертувати в секунди.

Як працює Конвертер тривалості за ISO 8601

Конвертер тривалостей ISO 8601 розбирає та перетворює тривалості, записані у форматі ISO 8601 (наприклад P1Y2M10DT4H30M), у зрозумілий розбір на роки, місяці, дні, години, хвилини і секунди, а також обчислює загальну кількість секунд для часових компонентів. Перетворення виконується повністю у вашому браузері; нічого з введеного не передається на жодний сервер, і інструмент працює офлайн після завантаження сторінки.

Рядки тривалостей ISO 8601 починаються з «P» (для Period), далі йдуть компоненти дати (Y -- роки, M -- місяці, W -- тижні, D -- дні) і, за потреби, роздільник «T», після якого йдуть часові компоненти (H -- години, M -- хвилини, S -- секунди). Тижні (W) -- окремий випадок: якщо вони присутні, інших компонентів дати не може бути. Загальна кількість секунд охоплює лише детерміновану часову частину (години, хвилини, секунди), оскільки місяці й роки мають змінну тривалість у днях і не можуть бути перетворені в секунди без дати відліку.

Конвертер тривалості за ISO 8601: покрокова інструкція

  1. Введіть або вставте рядок тривалості ISO 8601 у поле введення (наприклад P3Y6M4DT12H30M5S).
  2. Прочитайте розбивку по компонентах: роки, місяці, тижні, дні, години, хвилини, секунди.
  3. Перевірте значення загальної кількості секунд для часової частини (лише компоненти H/M/S).
  4. Або заповніть окремі поля компонентів, і рядок ISO буде згенеровано автоматично.

Поширені сценарії використання

  • Розробник відлагоджує відповідь API, що повертає тривалості у форматі ISO 8601, і хоче перевірити розібрані значення.
  • Технічний письменник документує систему, що приймає рядки тривалостей ISO, і хоче показати, що означає кожен компонент.
  • Аналітик даних хоче перетворити набір значень тривалостей ISO з експорту бази даних у загальну кількість секунд для статистичного аналізу.
  • Розробник, що генерує дані календаря або планування, хоче сконструювати дійсний рядок тривалості ISO 8601 з окремих значень часових компонентів.

Поширені запитання

Що означає кожна буква в рядку тривалості ISO 8601?

P позначає початок período. Y = роки, M до роздільника T = місяці, W = тижні, D = дні. Після роздільника T: H = години, M = хвилини, S = секунди. Рядок P1Y2M10DT4H30M означає 1 рік, 2 місяці, 10 днів, 4 години і 30 хвилин.

Чому інструмент може перетворювати лише години, хвилини і секунди в загальну кількість секунд, але не місяці й роки?

Місяці варіюються від 28 до 31 дня, а роки -- між 365 і 366 днями. Без дати відліку немає єдиної правильної кількості секунд для «одного місяця». Години, хвилини і секунди мають фіксовану тривалість і перетворюються детерміновано. Щоб отримати загальну кількість секунд для тривалості, що включає місяці або роки, використовуйте інструмент додавання дат із конкретною початковою датою та обчисліть різницю в днях.

У чому різниця між PT1H30M і P0Y0M0DT1H30M?

Вони семантично ідентичні. Обидва представляють тривалість 1 година і 30 хвилин. ISO 8601 дозволяє опускати компоненти з нульовим значенням, тому PT1H30M -- компактна форма, а P0Y0M0DT1H30M -- явна форма. Обидві допустимі.

Чи може рядок тривалості містити тижні поряд із днями?

Ні. Коли використовується позначник W (тижні) в тривалості ISO 8601, стандарт забороняє інші позначники дат (Y, M, D) у тому ж рядку. Тривалість лише в тижнях виглядає як P3W, що означає рівно 3 тижні.

Чи зберігається або надсилається введений рядок тривалості ISO?

Ні. Розбір -- це суто локальна маніпуляція рядком без зовнішніх залежностей. Введений рядок тривалості залишається у вкладці браузера і не записується, не передається і не кешується за межами сесії.

Чи допустимі від'ємні тривалості в ISO 8601?

Основний стандарт ISO 8601 не визначає від'ємні тривалості. Деякі розширені реалізації допускають ведучий знак мінус (наприклад -P1D для «мінус один день»). Цей інструмент розбирає стандартні невід'ємні тривалості; якщо ваш випадок вимагає від'ємних тривалостей, уточніть конвенцію конкретного API або системи, з якою ви працюєте.