Для того, щоб стандартизувати формат дати та часу в різних системах, організація ISO (International Organization for Standardization) випустила міжнародний стандарт ISO 8601, який отримав за свою історію досить багато редакцій. ISO 8601 позначає дату та час, починаючи з року, за яким слідують місяць, день, година, хвилини, секунди та мілісекунди.
Що таке тривалість часу ISO 8601?
Стандартизований набір форматів дати й часу ISO 8601 допоможе програмісту впоратися з визначенням тривалістю часу, який означає проміжок часу між двома датами або часом. Цей формат відображає тривалість у такому форматі: PnYnMnDTnHnMnS, де n число для відповідного інтервалу: Y - роки, M - місяці, W - тижні, D - дні, T - розмежувач між датами та часом, необхідний для усунення неоднозначності між місяцями та хвилинами, H - години, M - хвилини, S - секунди.
Ви можете залишити певні інтервали вимкненими, якщо вони не застосовуються, але ви повинні включити T перед будь-якими інтервалами часу (P<date>T<time>). Допустимі приклади включають: P3Y6M4DT12H30M5S (3 роки, 6 місяців, 4 дні, 12 годин, 30 хвилин і 5 секунд), P3DT12H (3 дні 12 годин), P1M (1 місяць), PT1M (1 хвилина).
Конвертація в ISO 8601 на PHP
Для конвертації тривалості часу у стандартизований формат ISO 8601 можна використовувати наступну функцію: