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 LocalTimedecodePacked32TimeSeconds(int bitFieldTimeSeconds) DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.static LocalTimedecodePacked32TimeSecondsAsJavaTime(int bitFieldTimeSeconds) DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.static LocalDateTimedecodePacked64DatetimeMicros(long bitFieldDatetimeMicros) DecodesbitFieldDatetimeMicrosas aLocalDateTimewith microseconds precision.static LocalDateTimedecodePacked64DatetimeMicrosAsJavaTime(long bitFieldDatetimeMicros) DecodesbitFieldDatetimeMicrosas aLocalDateTimewith microseconds precision.static LocalDateTimedecodePacked64DatetimeSeconds(long bitFieldDatetimeSeconds) DecodesbitFieldDatetimeSecondsas aLocalDateTimewith seconds precision.static LocalDateTimedecodePacked64DatetimeSecondsAsJavaTime(long bitFieldDatetimeSeconds) DecodesbitFieldDatetimeSecondsas aLocalDateTimewith seconds precision.static LocalTimedecodePacked64TimeMicros(long bitFieldTimeMicros) DecodesbitFieldTimeMicrosas aLocalTimewith microseconds precision.static LocalTimedecodePacked64TimeMicrosAsJavaTime(long bitFieldTimeMicros) DecodesbitFieldTimeMicrosas aLocalTimewith microseconds precision.static LocalTimedecodePacked64TimeNanos(long bitFieldTimeNanos) DecodesbitFieldTimeNanosas aLocalTimewith nanoseconds precision.static LocalTimedecodePacked64TimeNanosAsJavaTime(long bitFieldTimeNanos) DecodesbitFieldTimeNanosas aLocalTimewith nanoseconds precision.static intEncodestimeas a 4-byte integer with seconds precision.static intEncodestimeas a 4-byte integer with seconds precision.static longencodePacked64DatetimeMicros(LocalDateTime dateTime) EncodesdateTimeas a 8-byte integer with microseconds precision.static longencodePacked64DatetimeMicros(LocalDateTime dateTime) EncodesdateTimeas a 8-byte integer with microseconds precision.static longencodePacked64DatetimeSeconds(LocalDateTime dateTime) EncodesdateTimeas a 8-byte integer with seconds precision.static longencodePacked64DatetimeSeconds(LocalDateTime dateTime) EncodesdateTimeas a 8-byte integer with seconds precision.static longEncodestimeas a 8-byte integer with microseconds precision.static longEncodestimeas a 8-byte integer with microseconds precision.static longEncodestimeas a 8-byte integer with nanoseconds precision.static longEncodestimeas a 8-byte integer with nanoseconds precision.
-
Method Details
-
encodePacked32TimeSeconds
Encodestimeas a 4-byte integer with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |- See Also:
-
encodePacked32TimeSeconds
Encodestimeas a 4-byte integer with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |- See Also:
-
decodePacked32TimeSeconds
DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |- See Also:
-
decodePacked32TimeSecondsAsJavaTime
DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |- See Also:
-
encodePacked64TimeMicros
Encodestimeas 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
Encodestimeas 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
DecodesbitFieldTimeMicrosas aLocalTimewith 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
DecodesbitFieldTimeMicrosas aLocalTimewith microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||-------micros-----|- See Also:
-
encodePacked64TimeNanos
Encodestimeas 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
Encodestimeas 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
DecodesbitFieldTimeNanosas aLocalTimewith 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
DecodesbitFieldTimeNanosas aLocalTimewith nanoseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||---------- nanos -----------|- See Also:
-
encodePacked64DatetimeSeconds
EncodesdateTimeas 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
EncodesdateTimeas 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
DecodesbitFieldDatetimeSecondsas aLocalDateTimewith 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
DecodesbitFieldDatetimeSecondsas aLocalDateTimewith 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
EncodesdateTimeas 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
EncodesdateTimeas 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
DecodesbitFieldDatetimeMicrosas aLocalDateTimewith 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
DecodesbitFieldDatetimeMicrosas aLocalDateTimewith 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:
-