Class CivilTimeEncoder
The valid range and number of bits required by each date/time field is as the following:
Field | Range | #Bits |
---|---|---|
Year | [1, 9999] | 14 |
Month | [1, 12] | 4 |
Day | [1, 31] | 5 |
Hour | [0, 23] | 5 |
Minute | [0, 59] | 6 |
Second | [0, 59]* | 6 |
Micros | [0, 999999] | 20 |
Nanos | [0, 999999999] | 30 |
* Leap second is not supported.
When encoding the TIME or DATETIME into a bit field, larger date/time field is on the more significant side.
-
Method Summary
Modifier and TypeMethodDescriptionstatic LocalTime
decodePacked32TimeSeconds
(int bitFieldTimeSeconds) DecodesbitFieldTimeSeconds
as aLocalTime
with seconds precision.static LocalTime
decodePacked32TimeSecondsAsJavaTime
(int bitFieldTimeSeconds) DecodesbitFieldTimeSeconds
as aLocalTime
with seconds precision.static LocalDateTime
decodePacked64DatetimeMicros
(long bitFieldDatetimeMicros) DecodesbitFieldDatetimeMicros
as aLocalDateTime
with microseconds precision.static LocalDateTime
decodePacked64DatetimeMicrosAsJavaTime
(long bitFieldDatetimeMicros) DecodesbitFieldDatetimeMicros
as aLocalDateTime
with microseconds precision.static LocalDateTime
decodePacked64DatetimeSeconds
(long bitFieldDatetimeSeconds) DecodesbitFieldDatetimeSeconds
as aLocalDateTime
with seconds precision.static LocalDateTime
decodePacked64DatetimeSecondsAsJavaTime
(long bitFieldDatetimeSeconds) DecodesbitFieldDatetimeSeconds
as aLocalDateTime
with seconds precision.static LocalTime
decodePacked64TimeMicros
(long bitFieldTimeMicros) DecodesbitFieldTimeMicros
as aLocalTime
with microseconds precision.static LocalTime
decodePacked64TimeMicrosAsJavaTime
(long bitFieldTimeMicros) DecodesbitFieldTimeMicros
as aLocalTime
with microseconds precision.static LocalTime
decodePacked64TimeNanos
(long bitFieldTimeNanos) DecodesbitFieldTimeNanos
as aLocalTime
with nanoseconds precision.static LocalTime
decodePacked64TimeNanosAsJavaTime
(long bitFieldTimeNanos) DecodesbitFieldTimeNanos
as aLocalTime
with nanoseconds precision.static int
Encodestime
as a 4-byte integer with seconds precision.static int
Encodestime
as a 4-byte integer with seconds precision.static long
encodePacked64DatetimeMicros
(LocalDateTime dateTime) EncodesdateTime
as a 8-byte integer with microseconds precision.static long
encodePacked64DatetimeMicros
(LocalDateTime dateTime) EncodesdateTime
as a 8-byte integer with microseconds precision.static long
encodePacked64DatetimeSeconds
(LocalDateTime dateTime) EncodesdateTime
as a 8-byte integer with seconds precision.static long
encodePacked64DatetimeSeconds
(LocalDateTime dateTime) EncodesdateTime
as a 8-byte integer with seconds precision.static long
Encodestime
as a 8-byte integer with microseconds precision.static long
Encodestime
as a 8-byte integer with microseconds precision.static long
Encodestime
as a 8-byte integer with nanoseconds precision.static long
Encodestime
as a 8-byte integer with nanoseconds precision.
-
Method Details
-
encodePacked32TimeSeconds
Encodestime
as a 4-byte integer with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |
- See Also:
-
encodePacked32TimeSeconds
Encodestime
as a 4-byte integer with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |
- See Also:
-
decodePacked32TimeSeconds
DecodesbitFieldTimeSeconds
as aLocalTime
with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |
- See Also:
-
decodePacked32TimeSecondsAsJavaTime
DecodesbitFieldTimeSeconds
as aLocalTime
with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |
- See Also:
-
encodePacked64TimeMicros
Encodestime
as a 8-byte integer with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||-------micros-----|
- See Also:
-
encodePacked64TimeMicros
Encodestime
as a 8-byte integer with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||-------micros-----|
- See Also:
-
decodePacked64TimeMicros
DecodesbitFieldTimeMicros
as aLocalTime
with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||-------micros-----|
Warning: LocalTime only supports milliseconds precision. Result is truncated.
- See Also:
-
decodePacked64TimeMicrosAsJavaTime
DecodesbitFieldTimeMicros
as aLocalTime
with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||-------micros-----|
- See Also:
-
encodePacked64TimeNanos
Encodestime
as a 8-byte integer with nanoseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||---------- nanos -----------|
- See Also:
-
encodePacked64TimeNanos
Encodestime
as a 8-byte integer with nanoseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||---------- nanos -----------|
- See Also:
-
decodePacked64TimeNanos
DecodesbitFieldTimeNanos
as aLocalTime
with nanoseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||---------- nanos -----------|
Warning: LocalTime only supports milliseconds precision. Result is truncated.
- See Also:
-
decodePacked64TimeNanosAsJavaTime
DecodesbitFieldTimeNanos
as aLocalTime
with nanoseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||---------- nanos -----------|
- See Also:
-
encodePacked64DatetimeSeconds
EncodesdateTime
as a 8-byte integer with seconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S |
- See Also:
-
encodePacked64DatetimeSeconds
EncodesdateTime
as a 8-byte integer with seconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S |
- See Also:
-
decodePacked64DatetimeSeconds
DecodesbitFieldDatetimeSeconds
as aLocalDateTime
with seconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S |
- See Also:
-
decodePacked64DatetimeSecondsAsJavaTime
DecodesbitFieldDatetimeSeconds
as aLocalDateTime
with seconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S |
- See Also:
-
encodePacked64DatetimeMicros
EncodesdateTime
as a 8-byte integer with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S ||-------micros-----|
- See Also:
-
encodePacked64DatetimeMicros
EncodesdateTime
as a 8-byte integer with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S ||-------micros-----|
- See Also:
-
decodePacked64DatetimeMicros
DecodesbitFieldDatetimeMicros
as aLocalDateTime
with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S ||-------micros-----|
Warning: LocalDateTime only supports milliseconds precision. Result is truncated.
- See Also:
-
decodePacked64DatetimeMicrosAsJavaTime
DecodesbitFieldDatetimeMicros
as aLocalDateTime
with microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S ||-------micros-----|
- See Also:
-