[#BloombergLP-balber-BerUtil_Iso8601ImpUtil]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balber.adoc[balber]::BerUtil&lowbar;Iso8601ImpUtil
:relfileprefix: ../../
:mrdocs:

This component&hyphen;private utility `struct` provides a namespace for a suite of functions used by `BerUtil` to implement BER encoding and decoding operations for date and time values in the ISO 8601 format&period; See the component&hyphen;level documentation of &lcub;`bdlt&lowbar;iso8601util`&rcub; for a complete description of the ISO 8601 format used by the functions provided by this `struct`&period;

== Synopsis

Declared in `&lt;balber&lowbar;berutil&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct BerUtil&lowbar;Iso8601ImpUtil;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/StringUtil.adoc[`StringUtil`] 
| `StringUtil` is an alias to a namespace for a suite of functions used to implement BER encoder and decoding operations for string values&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/getDateTzValue.adoc[`getDateTzValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the date value represented by the interpretation of the read bytes as an ISO 8601 date and time zone&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes contain a valid representation of an ISO 8601 date and time zone&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/getDateValue.adoc[`getDateValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the date value represented by the interpretation of the read bytes as an ISO 8601 date&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes contain a valid representation of an ISO 8601 date&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/getDatetimeTzValue.adoc[`getDatetimeTzValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the date value represented by the interpretation of the read bytes as an ISO 8601 date, time, and time zone&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes contain a valid representation of an ISO 8601 date, time, and time zone&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/getDatetimeValue.adoc[`getDatetimeValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the date value represented by the interpretation of the read bytes as an ISO 8601 date and time&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes contain a valid representation of an ISO 8601 date and time&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/getTimeTzValue.adoc[`getTimeTzValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the date value represented by the interpretation of the read bytes as an ISO 8601 time and time zone&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes contain a valid representation of an ISO 8601 time and time zone&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/getTimeValue.adoc[`getTimeValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the date value represented by the interpretation of the read bytes as an ISO 8601 time&period; Return 0 on success, and a non&hyphen;zero value otherwise&period; The operation succeeds if `length` bytes are successfully read from the input sequence of the `streamBuf` without the read position becoming unavailable, and the bytes contain a valid representation of an ISO 8601 time&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/putDateTzValue.adoc[`putDateTzValue`] 
| Write the ISO 8601 representation of the specified `value` to the output sequence of the specified `streamBuf`&period; Return 0 on success and a non&hyphen;zero value otherwise&period; The operation succeeds if all bytes of the ISO 8601 representation of the `value` are written to the `streamBuf` without the write position becoming unavailable&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/putDateValue.adoc[`putDateValue`] 
| Write the ISO 8601 representation of the specified `value` to the output sequence of the specified `streamBuf`&period; Return 0 on success and a non&hyphen;zero value otherwise&period; The operation succeeds if all bytes of the ISO 8601 representation of the `value` are written to the `streamBuf` without the write position becoming unavailable&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/putDatetimeTzValue.adoc[`putDatetimeTzValue`] 
| Write the ISO 8601 representation of the specified `value` to the output sequence of the specified `streamBuf`&period; If the specified `options` is 0, use 3 decimal places of fractional second precision, otherwise use the number of decimal places specified by the `datetimeFractionalSecondPrecision` attribute of the `options`&period; Return 0 on success and a non&hyphen;zero value otherwise&period; The operation succeeds if all bytes of the ISO 8601 representation of the `value` are written to the `streamBuf` without the write position becoming unavailable&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/putDatetimeValue.adoc[`putDatetimeValue`] 
| Write the ISO 8601 representation of the specified `value` to the output sequence of the specified `streamBuf`&period; If the specified `options` is 0, use 3 decimal places of fractional second precision, otherwise use the number of decimal places specified by the `datetimeFractionalSecondPrecision` attribute of the `options`&period; Return 0 on success and a non&hyphen;zero value otherwise&period; The operation succeeds if all bytes of the ISO 8601 representation of the `value` are written to the `streamBuf` without the write position becoming unavailable&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/putTimeTzValue.adoc[`putTimeTzValue`] 
| Write the ISO 8601 representation of the specified `value` to the output sequence of the specified `streamBuf`&period; If the specified `options` is 0, use 3 decimal places of fractional second precision, otherwise use the number of decimal places specified by the `datetimeFractionalSecondPrecision` attribute of the `options`&period; Return 0 on success and a non&hyphen;zero value otherwise&period; The operation succeeds if all bytes of the ISO 8601 representation of the `value` are written to the `streamBuf` without the write position becoming unavailable&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil/putTimeValue.adoc[`putTimeValue`] 
| Write the ISO 8601 representation of the specified `value` to the output sequence of the specified `streamBuf`&period; If the specified `options` is 0, use 3 decimal places of fractional second precision, otherwise use the number of decimal places specified by the `datetimeFractionalSecondPrecision` attribute of the `options`&period; Return 0 on success and a non&hyphen;zero value otherwise&period; The operation succeeds if all bytes of the ISO 8601 representation of the `value` are written to the `streamBuf` without the write position becoming unavailable&period;
|===



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