BDE 4.14.0 Production release
|
#include <bdlt_iso8601util.h>
Static Public Member Functions | |
static int | generate (char *buffer, ssize_t bufferLength, const bsls::TimeInterval &object) |
static int | generate (char *buffer, ssize_t bufferLength, const bsls::TimeInterval &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const Date &object) |
static int | generate (char *buffer, ssize_t bufferLength, const Date &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const Time &object) |
static int | generate (char *buffer, ssize_t bufferLength, const Time &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const Datetime &object) |
static int | generate (char *buffer, ssize_t bufferLength, const Datetime &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const DateTz &object) |
static int | generate (char *buffer, ssize_t bufferLength, const DateTz &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const TimeTz &object) |
static int | generate (char *buffer, ssize_t bufferLength, const TimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const DatetimeTz &object) |
static int | generate (char *buffer, ssize_t bufferLength, const DatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const DateOrDateTz &object) |
static int | generate (char *buffer, ssize_t bufferLength, const DateOrDateTz &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const TimeOrTimeTz &object) |
static int | generate (char *buffer, ssize_t bufferLength, const TimeOrTimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (char *buffer, ssize_t bufferLength, const DatetimeOrDatetimeTz &object) |
static int | generate (char *buffer, ssize_t bufferLength, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const bsls::TimeInterval &object) |
static int | generate (bsl::string *string, const bsls::TimeInterval &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const Date &object) |
static int | generate (bsl::string *string, const Date &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const Time &object) |
static int | generate (bsl::string *string, const Time &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const Datetime &object) |
static int | generate (bsl::string *string, const Datetime &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const DateTz &object) |
static int | generate (bsl::string *string, const DateTz &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const TimeTz &object) |
static int | generate (bsl::string *string, const TimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const DatetimeTz &object) |
static int | generate (bsl::string *string, const DatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const DateOrDateTz &object) |
static int | generate (bsl::string *string, const DateOrDateTz &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const TimeOrTimeTz &object) |
static int | generate (bsl::string *string, const TimeOrTimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (bsl::string *string, const DatetimeOrDatetimeTz &object) |
static int | generate (bsl::string *string, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const bsls::TimeInterval &object) |
static int | generate (std::string *string, const bsls::TimeInterval &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const Date &object) |
static int | generate (std::string *string, const Date &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const Time &object) |
static int | generate (std::string *string, const Time &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const Datetime &object) |
static int | generate (std::string *string, const Datetime &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const DateTz &object) |
static int | generate (std::string *string, const DateTz &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const TimeTz &object) |
static int | generate (std::string *string, const TimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const DatetimeTz &object) |
static int | generate (std::string *string, const DatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const DateOrDateTz &object) |
static int | generate (std::string *string, const DateOrDateTz &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const TimeOrTimeTz &object) |
static int | generate (std::string *string, const TimeOrTimeTz &object, const GenerateConfiguration &configuration) |
static int | generate (std::string *string, const DatetimeOrDatetimeTz &object) |
static int | generate (std::string *string, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const bsls::TimeInterval &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const bsls::TimeInterval &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const Date &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const Date &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const Time &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const Time &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const Datetime &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const Datetime &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const DateTz &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const DateTz &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const TimeTz &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const TimeTz &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const DatetimeTz &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const DatetimeTz &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const DateOrDateTz &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const DateOrDateTz &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const TimeOrTimeTz &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const TimeOrTimeTz &object, const GenerateConfiguration &configuration) |
static bsl::ostream & | generate (bsl::ostream &stream, const DatetimeOrDatetimeTz &object) |
static bsl::ostream & | generate (bsl::ostream &stream, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const bsls::TimeInterval &object) |
static int | generateRaw (char *buffer, const bsls::TimeInterval &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const Date &object) |
static int | generateRaw (char *buffer, const Date &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const Time &object) |
static int | generateRaw (char *buffer, const Time &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const Datetime &object) |
static int | generateRaw (char *buffer, const Datetime &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const DateTz &object) |
static int | generateRaw (char *buffer, const DateTz &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const TimeTz &object) |
static int | generateRaw (char *buffer, const TimeTz &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const DatetimeTz &object) |
static int | generateRaw (char *buffer, const DatetimeTz &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const DateOrDateTz &object) |
static int | generateRaw (char *buffer, const DateOrDateTz &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const TimeOrTimeTz &object) |
static int | generateRaw (char *buffer, const TimeOrTimeTz &object, const GenerateConfiguration &configuration) |
static int | generateRaw (char *buffer, const DatetimeOrDatetimeTz &object) |
static int | generateRaw (char *buffer, const DatetimeOrDatetimeTz &object, const GenerateConfiguration &configuration) |
static int | parse (bsls::TimeInterval *result, const char *string, ssize_t length) |
static int | parse (Date *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (Time *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (Datetime *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DateTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (TimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DatetimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DateOrDateTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (TimeOrTimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DatetimeOrDatetimeTz *result, const char *string, ssize_t length, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (bsls::TimeInterval *result, const bsl::string_view &string) |
static int | parse (Date *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (Time *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (Datetime *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DateTz *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (TimeTz *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DatetimeTz *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DateOrDateTz *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (TimeOrTimeTz *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static int | parse (DatetimeOrDatetimeTz *result, const bsl::string_view &string, ParseConfiguration configuration=ParseConfiguration()) |
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int | parseRelaxed (Datetime *result, const char *string, ssize_t length) |
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int | parseRelaxed (DatetimeTz *result, const char *string, ssize_t length) |
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int | parseRelaxed (DatetimeOrDatetimeTz *result, const char *string, ssize_t length) |
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int | parseRelaxed (Datetime *result, const bsl::string_view &string) |
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int | parseRelaxed (DatetimeTz *result, const bsl::string_view &string) |
static BDLT_ISO8601UTIL_DEPRECATE_PARSERELAXED int | parseRelaxed (DatetimeOrDatetimeTz *result, const bsl::string_view &string) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER int | generate (char *buffer, const Date &object, ssize_t bufferLength) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER int | generate (char *buffer, const Time &object, ssize_t bufferLength) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER int | generate (char *buffer, const Datetime &object, ssize_t bufferLength) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER int | generate (char *buffer, const DateTz &object, ssize_t bufferLength) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER int | generate (char *buffer, const TimeTz &object, ssize_t bufferLength) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE_ORDER int | generate (char *buffer, const DatetimeTz &object, ssize_t bufferLength) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE int | generate (char *buffer, const DateTz &object, ssize_t bufferLength, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE int | generate (char *buffer, const TimeTz &object, ssize_t bufferLength, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE int | generate (char *buffer, const DatetimeTz &object, ssize_t bufferLength, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE bsl::ostream & | generate (bsl::ostream &stream, const DateTz &object, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE bsl::ostream & | generate (bsl::ostream &stream, const TimeTz &object, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATE bsl::ostream & | generate (bsl::ostream &stream, const DatetimeTz &object, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATERAW int | generateRaw (char *buffer, const DateTz &object, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATERAW int | generateRaw (char *buffer, const TimeTz &object, bool useZAbbreviationForUtc) |
static BDLT_ISO8601UTIL_DEPRECATE_GENERATERAW int | generateRaw (char *buffer, const DatetimeTz &object, bool useZAbbreviationForUtc) |
This struct
provides a namespace for a suite of pure functions that perform conversions between objects of bdlt
vocabulary type and their ISO 8601 representations. Each generate
and generateRaw
method takes a bdlt
object (of type Date
, DateTz
, Time
, TimeTz
, Datetime
, or DatetimeTz
) and outputs its corresponding ISO 8601 representation to a user-supplied character buffer or bsl::ostream
. The parse
methods effect the opposite conversion in that they populate a bdlt
object from the result of parsing an ISO 8601 representation.
DateOrDateTz
is a convenient alias for bdlb::Variant2<Date, DateTz>
.
DatetimeOrDatetimeTz
is a convenient alias for bdlb::Variant2<Datetime, DatetimeTz>
.
typedef bsl::ptrdiff_t bdlt::Iso8601Util::ssize_t |
TimeOrTimeTz
is a convenient alias for bdlb::Variant2<Time, TimeTz>
.
anonymous enum |
|
inlinestatic |
Write the ISO 8601 representation of the specified object
to the specified stream
. Optionally specify a configuration
to affect the format of the generated string. If configuration
is not supplied, the process-wide default value Iso8601UtilConfiguration::defaultConfiguration()
is used. Return a reference to stream
. Note that stream
is not null terminated.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Iso8601UtilConfiguration
object instead.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Iso8601UtilConfiguration
object instead.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Parse the specified "relaxed" ISO 8601 string
as a Datetime
or DatetimeTz
value, depending on the presence of a zone designator, 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:
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 the string
, the input is parsed as a DatetimeTz
value, and as a Datetime
value otherwise. 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.
|
inlinestatic |
bufferLength
argument before the object
argument instead.
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
Write the ISO 8601 representation of the specified object
to the specified buffer
of the specified bufferLength
(in bytes), truncating (if necessary) to bufferLength
. Optionally specify a configuration
to affect the format of the generated string. If configuration
is not supplied, the process-wide default value Iso8601UtilConfiguration::defaultConfiguration()
is used. Return the number of characters in the formatted string before truncation (not counting a null terminator). If bufferLength
indicates sufficient capacity, buffer
is null terminated. The behavior is undefined unless 0 <= bufferLength
. Note that a buffer of size k_MAX_STRLEN + 1
is large enough to hold any string generated by this component (counting a null terminator, if any).
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
Write the ISO 8601 representation of the specified object
to the specified buffer
. Optionally specify a configuration
to affect the format of the generated string. If configuration
is not supplied, the process-wide default value Iso8601UtilConfiguration::defaultConfiguration()
is used. Return the number of characters in the formatted string. buffer
is not null terminated. The behavior is undefined unless buffer
has sufficient capacity. Note that a buffer of size k_MAX_STRLEN + 1
is large enough to hold any string generated by this component (counting a null terminator, if any).
|
inlinestatic |
|
inlinestatic |
Iso8601UtilConfiguration
object instead.
|
static |
|
inlinestatic |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
inlinestatic |
|
static |
|
inlinestatic |
Parse the specified ISO 8601 string
as a bsls::TimeInterval
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:
See "Summary of Supported ISO 8601 Duration Representations" for a complete description of this format.
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 nine digits is present in string
, it is rounded to the nearest value in nanoseconds. The behavior is undefined unless 0 <= length
.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a bsls::TimeInterval
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:
See "Summary of Supported ISO 8601 Duration Representations" for a complete description of this format.
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 nine digits is present in string
, it is rounded to the nearest value in nanoseconds. The behavior is undefined unless 0 <= length
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a Date
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the optional zone designator is present in string
, it is parsed but ignored. The behavior is undefined unless string.data()
is non-null.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a Date
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the optional zone designator is present in string
, it is parsed but ignored. The behavior is undefined unless 0 <= length
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a Date
or DateTz
value, depending on the presence of a zone designator, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the optional zone designator is present in the string
, the input is parsed as a DateTz
value, and as a Date
value otherwise. The behavior is undefined unless string.data()
is non-null.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a Date
or DateTz
value, depending on the presence of a zone designator, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the optional zone designator is present in the string
, the input is parsed as a DateTz
value, and as a Date
value otherwise. The behavior is undefined unless 0 <= length
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a Datetime
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a Datetime
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a Datetime
or DatetimeTz
value, depending on the presence of a zone designator, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the string
, the input is parsed as a DatetimeTz
value, and as a Datetime
value otherwise. 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.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a Datetime
or DatetimeTz
value, depending on the presence of a zone designator, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the string
, the input is parsed as a DatetimeTz
value, and as a Datetime
value otherwise. 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
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a DatetimeTz
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 not present in string
, 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.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a DatetimeTz
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 not present in string
, 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
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a DateTz
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the optional zone designator is not present in string
, UTC is assumed. The behavior is undefined unless string.data()
is non-null.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a DateTz
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the optional zone designator is not present in string
, UTC is assumed. The behavior is undefined unless 0 <= length
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a Time
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 Time
value is converted to the equivalent UTC time; 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.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a Time
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 Time
value is converted to the equivalent UTC time; 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
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a Time
or TimeTz
value, depending on the presence of a zone designator, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the string
, the input is parsed as a TimeTz
value, and as a Time
value otherwise. 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.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a Time
or TimeTz
value, depending on the presence of a zone designator, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 the string
, the input is parsed as a TimeTz
value, and as a Time
value otherwise. 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
.
|
inlinestatic |
Parse the specified ISO 8601 string
as a TimeTz
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 not present in string
, 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.
|
static |
Parse the specified initial length
characters of the specified ISO 8601 string
as a TimeTz
value, and load the value into the specified result
, using the optionally specified configuration
. Return 0 on success, and a non-zero value (with no effect) otherwise. string
is assumed to be of the form:
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 not present in string
, 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
.
|
inlinestatic |
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:
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.
|
static |
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:
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
.
|
inlinestatic |
|
static |
Parse the specified initial length
characters of the specified "relaxed" ISO 8601 string
as a Datetime
or DatetimeTz
value, depending on the presence of a zone designator, 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:
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 the string
, the input is parsed as a DatetimeTz
value, and as a Datetime
value otherwise. 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
.
|
inlinestatic |
Parse the specified "relaxed" ISO 8601 string
as a DatetimeTz
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:
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 not present in string
, 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.
|
static |
Parse the specified initial length
characters of the specified "relaxed" ISO 8601 string
as a DatetimeTz
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:
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 not present in string
, 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
.