In ISO 8601 wird die Dauer im Format P[n]Y[n]M[n]DT[n]H[n]M[n]S
angegeben.
Beispiele:
20 Sekunden:
%Vor%Ein Jahr, zwei Monate, drei Tage, vier Stunden, fünf Minuten, sechs Sekunden:
%Vor%Frage:
Eine Zeichenfolge, die eine Dauer im ISO 8601-Format enthält. Ich möchte die Gesamtanzahl von Sekunden dieser Dauer erhalten. Was ist der empfohlene Weg in Standard C ++ 11, um dies zu erreichen?
Anmerkungen:
ZB ptime from_iso_string (std :: string) in Boost DateTime, die hier nicht passt. Gibt es einen ähnlichen Weg, ohne eine Regex von Hand zu machen?
Verwenden Sie die Standard-Regex-Bibliothek, die gewünschte Regex ist etwa wie folgt:
%Vor%davon können Sie die Anzahl der Jahre, Monate etc. herausziehen und die Gesamtsekunden berechnen.