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

Utilities for BER time encoding and decoding&period;

== Synopsis

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

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

== 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 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 options*&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_TimeImpUtil/DateAndTimeHeader.adoc[`DateAndTimeHeader`] 
| Alias for the extended&hyphen;binary date&hyphen;and&hyphen;time header class&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/DateAndTimeHeaderType.adoc[`DateAndTimeHeaderType`] 
| Alias for the extended&hyphen;binary header type enumeration&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/DateAndTimeHeaderUtil.adoc[`DateAndTimeHeaderUtil`] 
| Alias for extended&hyphen;binary date&hyphen;and&hyphen;time header utilities&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/ExtendedBinaryEncodingUtil.adoc[`ExtendedBinaryEncodingUtil`] 
| Alias for extended&hyphen;binary encoding decision utilities&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/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_TimeImpUtil/Iso8601Util.adoc[`Iso8601Util`] 
| Alias for ISO 8601 date and time encoding utilities&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/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_TimeImpUtil/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_TimeImpUtil/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_TimeImpUtil/TimeEncoding.adoc[`TimeEncoding`] 
| `TimeEncoding` 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;Time` type&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeOrTimeTz.adoc[`TimeOrTimeTz`] 
| `TimeOrTimeTz` is a convenient alias for `bdlb&colon;&colon;Variant2&lt;bdlt&colon;&colon;Time, bdlt&colon;&colon;TimeTz&gt;`&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeOrTimeTzEncoding.adoc[`TimeOrTimeTzEncoding`] 
| Alias for time&hyphen;or&hyphen;time&hyphen;tz encoding format enumerations&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeTzEncoding.adoc[`TimeTzEncoding`] 
| `TimeTzEncoding` 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;TimeTz` type&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/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_TimeImpUtil/getTimeOrTimeTzValue.adoc[`getTimeOrTimeTzValue`] 
| Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the time and optional time&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/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 time and time zone value&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/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 time value represented&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/microsecondsSinceMidnightToTime.adoc[`microsecondsSinceMidnightToTime`] 
| Load to the specified `time` the time value represented by the specified `microsecondsSinceMidnight`&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/millisecondsSinceMidnightToTime.adoc[`millisecondsSinceMidnightToTime`] 
| Load to the specified `time` the time value represented by the specified `millisecondsSinceMidnight`&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/putTimeTzValue.adoc[`putTimeTzValue`] 
| Write a representation of the specified time and time&hyphen;zone `value` to the output sequence of the specified `streamBuf` according to the specified `options`&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/putTimeValue.adoc[`putTimeValue`] 
| Write a representation of the specified time `value` to the output sequence of the specified `streamBuf` according to the specified `options`&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/timeToMicrosecondsSinceMidnight.adoc[`timeToMicrosecondsSinceMidnight`] 
| Load to the specified `microsecondsSinceMidnight` the number of microseconds in the specified `time` value&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil/timeToMillisecondsSinceMidnight.adoc[`timeToMillisecondsSinceMidnight`] 
| Load to the specified `millisecondsSinceMidnight` the number of milliseconds in the specified `time` value&period;
|===



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