Час/числа
Парсер тривалості ISO 8601
Розібрати рядок на кшталт "P3Y6M4DT12H30M5S" у зрозумілий вигляд або скласти такий рядок із років/місяців/днів/годин/хвилин/секунд.
Порожнє поле = 0, нульові поля не потрапляють у рядок. Компонент тижнів (P4W) підтримується лише при розборі — для складання вкажіть дні.
Часті запитання
Що означає рядок на кшталт P3Y6M4DT12H30M5S?
Це стандартний формат ISO 8601 для тривалості: P означає "period", далі йдуть роки/місяці/дні до літери T, після якої — години/хвилини/секунди. У прикладі це 3 роки, 6 місяців, 4 дні, 12 годин, 30 хвилин і 5 секунд.
Чим ISO-тривалість відрізняється від простої тривалості в годинах?
На відміну від фіксованих одиниць (як у калькуляторі тривалості), компоненти "роки" й "місяці" тут календарні й не мають сталої кількості секунд — їх точна довжина залежить від конкретних дат застосування.
Чи підтримується тижневий формат P4W?
Так, але лише під час розбору готового рядка. Для складання власного рядка тижні потрібно виразити в днях, оскільки ISO 8601 не дозволяє поєднувати тижні з іншими компонентами в одному рядку.