[#BloombergLP-bdlt-Iso8601Util-parseRelaxed-0af] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::xref:BloombergLP/bdlt/Iso8601Util.adoc[Iso8601Util]::parseRelaxed :relfileprefix: ../../../ :mrdocs: Parse the specified initial `length` characters of 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_ `length` characters are parsed; parsing will fail if a proper prefix of `string` matches the expected format, but the entire `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 `0 <= length`. == Synopsis Declared in `<bdlt_iso8601util.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static int parseRelaxed( xref:BloombergLP/bdlt/Datetime.adoc[Datetime]* result, char const* string, xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize_t] length); ---- == Description DEPRECATED: Use `parse` with `configuration.relaxed() == true` instead. [.small]#Created with https://www.mrdocs.com[MrDocs]#