Parse the specified "relaxed" ISO 8601 string as a Datetime value, and load the value into the specified result. Return 0 on success, and a non‐zero value (with no effect) otherwise. string is assumed to be of the form: ` YYYY‐MM‐DD(T| )hh:mm:ss{(.|,)s+}{(+|‐)hh{:}mm|Z} ` The "relaxed" format parsed by this function is a superset of the strict ISO 8601 format, currently allowing a SPACE character to be used as a separated (where ISO 8601 requires a T). Exactly string.length() characters are parsed; parsing will fail if a proper prefix of string matches the expected format, but the entire string.length() characters do not. If an optional fractional second having more than six digits is present in string, it is rounded to the nearest value in microseconds. If the optional zone designator is present in string, the resulting Datetime value is converted to the equivalent UTC value; if the zone designator is absent, UTC is assumed. If a leap second is detected (i.e., the parsed value of the second attribute is 60; see {Leap Seconds}), the second attribute is taken to be 59, then an additional second is added to result at the end. If the "hh:mm:ss" portion of string is "24:00:00", then the fractional second must be absent or 0, and the zone designator must be absent or indicate UTC. The behavior is undefined unless string.data() is non‐null.

Synopsis

Declared in <bdlt_iso8601util.h>

static
int
parseRelaxed(
    Datetime* result,
    std::string_view const& string);

Description

DEPRECATED: Use parse with configuration.relaxed() == true instead.

Created with MrDocs