Время/числа
Парсер длительности ISO 8601
Разобрать строку вида "P3Y6M4DT12H30M5S" в понятный вид или собрать такую строку из лет/месяцев/дней/часов/минут/секунд.
Пустое поле = 0, нулевые поля не попадают в строку. Компонент недель (P4W) поддерживается только при разборе — для сборки укажите дни.
An ISO 8601 duration (e.g. P3Y6M4DT12H30M5S) is a compact, unambiguous way to write a time span, used by many APIs and data formats, but hard to read without parsing it. This tool translates such a string into plain language and lets you build one from separate fields.
How to use it
- Parse: paste an ISO duration string to get years, months, days, hours, minutes, and seconds broken out separately, in a readable form.
- Build: enter the duration components you need and the tool assembles a valid ISO 8601 string.
- The letter T before the time part (hours/minutes/seconds) is required and gets added automatically when needed.
Common uses
- Reading a duration field from an API response (a subscription, a rental period, a timeout) given in this format.
- Building a correctly formatted ISO 8601 string for a request that expects a duration in exactly this format.
- Debugging why a third-party API's parser rejects a hand-built duration — checking it against the standard's exact syntax.
Things to keep in mind
The leading P stands for "period" and is required, just like the T that separates days from hours in the time part.
The base standard doesn't define a sign for durations — negative durations (to mean "ago") are only supported by specific implementations as an unofficial extension.
Статья об этом инструменте: ISO 8601 Duration: как записать длительность в стандартном формате
Часто задаваемые вопросы
Что означает строка вроде P3Y6M4DT12H30M5S?
Это стандартный формат ISO 8601 для продолжительности: P означает "period", далее идут годы/месяцы/дни до буквы T, после которой — часы/минуты/секунды. В примере это 3 года, 6 месяцев, 4 дня, 12 часов, 30 минут и 5 секунд.
Чем ISO-продолжительность отличается от простой продолжительности в часах?
В отличие от фиксированных единиц (как в калькуляторе продолжительности), компоненты "годы" и "месяцы" здесь календарные и не имеют постоянного количества секунд — их точная длина зависит от конкретных дат применения.
Поддерживается ли недельный формат P4W?
Да, но только при разборе готовой строки. Для составления собственной строки недели нужно выразить в днях, поскольку ISO 8601 не позволяет сочетать недели с другими компонентами в одной строке.
Можно ли указать дробные секунды или минуты?
Да, стандарт допускает дробную часть только в последнем компоненте строки — например, PT1.5S (1.5 секунды) или PT1H30.5M (1 час 30.5 минуты) корректны, а дробная часть в любом нефинальном компоненте — нет.
Бывают ли отрицательные ISO-длительности?
Базовый стандарт ISO 8601 не определяет знак для длительности, но некоторые реализации (в том числе этот инструмент) поддерживают ведущий минус для обозначения «назад» или обратной длительности — это распространённое, хотя и неофициальное расширение.