В ISO 8601 длительность указывается в формате P[n]Y[n]M[n]DT[n]H[n]M[n]S
.
Примеры:
20 секунд:
PT20.0S
Один год, 2 месяца, 3 дня, 4 часа, 5 минут, 6 секунд:
P1Y2M3DT4H5M6S
Вопрос:
Дана строка, содержащая продолжительность в формате iso 8601. Я хочу получить общее количество секунд этой продолжительности. Каким способом в стандарте C ++ 11 рекомендуется достичь этого?
Примечания:
Например, в boost DateTime есть ptime from_iso_string (std :: string), который здесь не подходит. Есть ли аналогичный способ без регулярного выражения вручную?