Без загрузки, 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 обозначает начало периода. 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 или системы, с которой вы работаете.