Analyse von ISO8601 mit Zeitzoneninformationen in C ++
Posted: 23 Apr 2025, 09:55
Ich muss eine ISO8601 -String in C ++ analysieren und das Ergebnis mit der Wanduhr vergleichen. Dies ist im Grunde der Code: < /p>
. Die folgenden beiden funktionieren nicht: < /p>
2019-11-01T11:55:42+0100
2019-11-01T11:55:42+01:00
< /code>
Welche anderen Möglichkeiten sind in C ++ verfügbar, um eine ISO8601 -String zu analysieren und in etwas umzuwandeln, das leicht mit der Wanduhrzeit verglichen werden kann, um festzustellen, ob der Zeitstempel in der Vergangenheit stammt? Wenn Ihre Antwort impliziert, dass sie sich in einer bestimmten Zeitzone befinden müssen, geben Sie bitte auch Code an, um von einem beliebigen UTC -Offset in die gewünschte Zeitzone umzuwandeln.
Code: Select all
#include
using namespace boost::posix_time;
// examples
std::string ts("2019-11-01T11:55:42");
ptime t2(from_iso_extended_string(ts))
< /code>
funktioniert in der Tat einwandfrei, solange die Zeichenfolge ohne Zeitzoneninformationen, z. 2019-11-01T11: 55: 42
2019-11-01T11:55:42+0100
2019-11-01T11:55:42+01:00
< /code>
Welche anderen Möglichkeiten sind in C ++ verfügbar, um eine ISO8601 -String zu analysieren und in etwas umzuwandeln, das leicht mit der Wanduhrzeit verglichen werden kann, um festzustellen, ob der Zeitstempel in der Vergangenheit stammt? Wenn Ihre Antwort impliziert, dass sie sich in einer bestimmten Zeitzone befinden müssen, geben Sie bitte auch Code an, um von einem beliebigen UTC -Offset in die gewünschte Zeitzone umzuwandeln.