public final class CivilTimeEncoder extends Object
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.
| Modifier and Type | Method and Description |
|---|---|
static org.threeten.bp.LocalDateTime |
decodePacked64DatetimeMicros(long bitFieldDatetimeMicros)
Decodes
bitFieldDatetimeMicros as a LocalDateTime with microseconds precision. |
static org.threeten.bp.LocalTime |
decodePacked64TimeMicros(long bitFieldTimeMicros)
Decodes
bitFieldTimeMicros as a LocalTime with microseconds precision. |
static long |
encodePacked64DatetimeMicros(org.threeten.bp.LocalDateTime dateTime)
Encodes
dateTime as a 8-byte integer with microseconds precision. |
static long |
encodePacked64TimeMicros(org.threeten.bp.LocalTime time)
Encodes
time as a 8-byte integer with microseconds precision. |
public static long encodePacked64TimeMicros(org.threeten.bp.LocalTime time)
time 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-----|
public static org.threeten.bp.LocalTime decodePacked64TimeMicros(long bitFieldTimeMicros)
bitFieldTimeMicros as a LocalTime with microseconds precision.
Encoding is as the following:
6 5 4 3 2 1
MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB
| H || M || S ||-------micros-----|
encodePacked64TimeMicros(LocalTime)public static long encodePacked64DatetimeMicros(org.threeten.bp.LocalDateTime dateTime)
dateTime 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-----|
decodePacked64DatetimeMicros(long)public static org.threeten.bp.LocalDateTime decodePacked64DatetimeMicros(long bitFieldDatetimeMicros)
bitFieldDatetimeMicros as a LocalDateTime with microseconds precision.
Encoding is as the following:
6 5 4 3 2 1
MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB
|--- year ---||m || D || H || M || S ||-------micros-----|
Copyright © 2021 Google LLC. All rights reserved.