ISO 8601 Duration String ↔ Seconds
ISO 8601 expresses a duration as "PnYnMnDTnHnMnS": after P come years/months/weeks/days, after T come hours/minutes/seconds. This tool converts between that human-readable string and the seconds value machines use.
Years use 365 days and months use 30 days as approximations (without a reference date the real month length is unknown). Computation is local.
Features
- Two-way — Duration string → seconds, seconds → duration string.
- Format friendly — Supports any combination of PnY/PnM/PnW/PnD and TnH/TnM/TnS, e.g. P1W, PT1H30M.
- Instant validation — Flags an illegal format immediately.
How to use
- Enter a duration string (e.g. P1DT12H) in the top box to get seconds.
- Enter seconds in the bottom box to get an ISO duration string.
FAQ
Why is "1 month" only approximate in seconds?
Different months have different lengths (28/29/30/31), and without a specific reference date the real month length cannot be determined, so this tool uses 30 days; years and months are for rough conversion only — for exact durations use days/hours/minutes/seconds.
Can P1Y2M3DT4H5M6S be round-tripped?
Yes. As long as you do not mix approximate units like month/year, the round trip is consistent and exact; conversions involving years/months carry rounding error from the approximation.