[#BloombergLP-bdlt-Iso8601Util-parse-08a]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::xref:BloombergLP/bdlt/Iso8601Util.adoc[Iso8601Util]::parse
:relfileprefix: ../../../
:mrdocs:

`parse` overloads

== Synopses

Declared in `&lt;bdlt&lowbar;iso8601util&period;h&gt;`

Parse an ISO 8601 `string` as a `bsls&colon;&colon;TimeInterval`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-04a.adoc[parse](
    xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval]* result,
    std::string&lowbar;view const& string);
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-04a.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 `string` as a `Date`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-01a.adoc[parse](
    xref:BloombergLP/bdlt/Date.adoc[Date]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-01a.adoc[_» more&period;&period;&period;_]#

Parse `string` as a `Date` or `DateTz` depending on a zone designator&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-06.adoc[parse](
    xref:BloombergLP/bdlt/Iso8601Util/DateOrDateTz.adoc[DateOrDateTz]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-06.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 `string` as a `DateTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-049.adoc[parse](
    xref:BloombergLP/bdlt/DateTz.adoc[DateTz]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-049.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 `string` as a `Datetime`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-006.adoc[parse](
    xref:BloombergLP/bdlt/Datetime.adoc[Datetime]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-006.adoc[_» more&period;&period;&period;_]#

Parse `string` as a `Datetime` or `DatetimeTz` depending on a zone designator&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-02f.adoc[parse](
    xref:BloombergLP/bdlt/Iso8601Util/DatetimeOrDatetimeTz.adoc[DatetimeOrDatetimeTz]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-02f.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 `string` as a `DatetimeTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-020.adoc[parse](
    xref:BloombergLP/bdlt/DatetimeTz.adoc[DatetimeTz]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-020.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 `string` as a `Time`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-001.adoc[parse](
    xref:BloombergLP/bdlt/Time.adoc[Time]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-001.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `bsls&colon;&colon;TimeInterval`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-0f.adoc[parse](
    xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length);
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-0f.adoc[_» more&period;&period;&period;_]#

Parse `string` as a `Time` or `TimeTz` depending on a zone designator&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-05.adoc[parse](
    xref:BloombergLP/bdlt/Iso8601Util/TimeOrTimeTz.adoc[TimeOrTimeTz]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-05.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 `string` as a `TimeTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-03.adoc[parse](
    xref:BloombergLP/bdlt/TimeTz.adoc[TimeTz]* result,
    std::string&lowbar;view const& string,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-03.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of ISO 8601 `string` as a `Date`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-088.adoc[parse](
    xref:BloombergLP/bdlt/Date.adoc[Date]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-088.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `Date` or `DateTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-008.adoc[parse](
    xref:BloombergLP/bdlt/Iso8601Util/DateOrDateTz.adoc[DateOrDateTz]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-008.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `DateTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-09.adoc[parse](
    xref:BloombergLP/bdlt/DateTz.adoc[DateTz]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-09.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `Datetime`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-015.adoc[parse](
    xref:BloombergLP/bdlt/Datetime.adoc[Datetime]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-015.adoc[_» more&period;&period;&period;_]#

Parse an ISO 8601 datetime or datetime&hyphen;with&hyphen;offset string&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-024.adoc[parse](
    xref:BloombergLP/bdlt/Iso8601Util/DatetimeOrDatetimeTz.adoc[DatetimeOrDatetimeTz]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-024.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `DatetimeTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-048.adoc[parse](
    xref:BloombergLP/bdlt/DatetimeTz.adoc[DatetimeTz]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-048.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `Time`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-0b6.adoc[parse](
    xref:BloombergLP/bdlt/Time.adoc[Time]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-0b6.adoc[_» more&period;&period;&period;_]#

Parse ISO 8601 text as a `Time` or `TimeTz` depending on a zone designator&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-0b7.adoc[parse](
    xref:BloombergLP/bdlt/Iso8601Util/TimeOrTimeTz.adoc[TimeOrTimeTz]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-0b7.adoc[_» more&period;&period;&period;_]#

Parse the first `length` characters of an ISO 8601 `string` as a `TimeTz`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdlt/Iso8601Util/parse-00a.adoc[parse](
    xref:BloombergLP/bdlt/TimeTz.adoc[TimeTz]* result,
    char const* string,
    xref:BloombergLP/bdlt/Iso8601Util/ssize_t.adoc[ssize&lowbar;t] length,
    xref:BloombergLP/bdlt/Iso8601Util/ParseConfiguration.adoc[ParseConfiguration] configuration = ParseConfiguration());
----

[.small]#xref:BloombergLP/bdlt/Iso8601Util/parse-00a.adoc[_» more&period;&period;&period;_]#

== Return Value

0 on success, and a non&hyphen;zero value otherwise

== Parameters

[cols="1,4"]
|===
| Name| Description
| *result*
| receives the parsed `bsls&colon;&colon;TimeInterval`
| *string*
| ISO 8601 text to parse
| *configuration*
| optional parse configuration
| *length*
| number of characters to parse
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
