diff --git a/date/date.h b/date/date.h index de08bab..42f20d9 100644 --- a/date/date.h +++ b/date/date.h @@ -800,6 +800,7 @@ bool Date::Parse(const CStringType * str, const CStringType ** str_after) { const CStringType * after; bool result = false; +bool is_iso = false; if( ParseYearMonthDay(str, &after) ) { @@ -811,10 +812,18 @@ bool result = false; // https://en.wikipedia.org/wiki/ISO_8601 // at the moment skip the 'T' character only after += 1; + is_iso = true; } if( ParseHourMinSec(after, &after) ) + { result = true; + + if( is_iso && *after == 'Z' ) + { + after += 1; + } + } } SetAfter(after, str_after);