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

Utilities for BER datetime encoding and decoding&period;

== Synopsis

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

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

== Description

This component&hyphen;private `struct` provides a namespace for a suite of functions used by `BerUtil` to implement BER encoding and decoding operations for date and time values&period; Within the definition of this `struct`&colon;

&ast; *the specification*&colon; &gt; Refers to the August 2015 revision of the ITU&hyphen;T Recommendation X&period;690&period;

&ast; *the default set of optionsi*&colon; &gt; Refers to a `balber&colon;&colon;BerEncoderOptions` value having a &gt; `datetimeFractionalSecondPrecision` attribute of 3 and a &gt; `encodeDateAndTimeTypesAsBinary` attribute of `false`&period;

See the package level documentation of &lcub;`balber`&rcub; for a definition of the compact and extended binary formats for date and time values&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/Constants.adoc[`Constants`] 
| `Constants` is an alias to a namespace for a suite of general&hyphen;purpose constants that occur when encoding or decoding BER data&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DateAndTimeHeader.adoc[`DateAndTimeHeader`] 
| Alias for the extended&hyphen;binary date&hyphen;and&hyphen;time header class&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DateAndTimeHeaderUtil.adoc[`DateAndTimeHeaderUtil`] 
| Alias for extended&hyphen;binary date&hyphen;and&hyphen;time header utilities&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DateUtil.adoc[`DateUtil`] 
| `DateUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for date values&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DatetimeEncoding.adoc[`DatetimeEncoding`] 
| `DatetimeEncoding` is an alias to a namespace for enumerating the set of formats that may be used by `BerUtil` to encode and decode values of `bdlt&colon;&colon;Datetime` type&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DatetimeOrDatetimeTz.adoc[`DatetimeOrDatetimeTz`] 
| `DatetimeOrDatetimeTz` is a convenient alias for `bdlb&colon;&colon;Variant2&lt;bdlt&colon;&colon;Datetime, bdlt&colon;&colon;DatetimeTz&gt;`&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DatetimeOrDatetimeTzEncoding.adoc[`DatetimeOrDatetimeTzEncoding`] 
| Alias for datetime&hyphen;or&hyphen;datetime&hyphen;tz encoding format enumerations&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/DatetimeTzEncoding.adoc[`DatetimeTzEncoding`] 
| Alias for datetime&hyphen;tz encoding format enumerations&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/ExtendedBinaryEncodingUtil.adoc[`ExtendedBinaryEncodingUtil`] 
| Alias for extended&hyphen;binary encoding decision utilities&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/IntegerUtil.adoc[`IntegerUtil`] 
| `IntegerUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for integer values&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/Iso8601Util.adoc[`Iso8601Util`] 
| Alias for ISO 8601 date and time encoding utilities&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/LengthUtil.adoc[`LengthUtil`] 
| `LengthUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for length quantities&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/StreambufUtil.adoc[`StreambufUtil`] 
| `StreambufUtil` is an alias to a namespace for a suite of functions used to implement input and output operations on `bsl&colon;&colon;streambuf` objects&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/StringUtil.adoc[`StringUtil`] 
| `StringUtil` is an alias to a namespace for a suite of functions used by `BerUtil` to implement BER encoding and decoding operations for string values&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/TimeUtil.adoc[`TimeUtil`] 
| `DateUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for time values&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/TimezoneUtil.adoc[`TimezoneUtil`] 
| `TimezoneUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for time&hyphen;zone offset values&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/getDatetimeOrDatetimeTzValue.adoc[`getDatetimeOrDatetimeTzValue`] 
| Write a representation of the specified `value` date, time, and optional time zone to the output sequence of the specified `streamBuf` according to the&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/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, time, and time&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/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 and time value&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/putDatetimeTzValue.adoc[`putDatetimeTzValue`] 
| Write a representation of the specified `value` date, time, and time zone to the output sequence of the specified `streamBuf` according to the specified&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil/putDatetimeValue.adoc[`putDatetimeValue`] 
| Write a representation of the specified `value` date and time to the output sequence of the specified `streamBuf` according to the specified `options`&period;
|===



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