Class CivilTimeEncoder
- java.lang.Object
-
- org.apache.beam.sdk.io.gcp.bigquery.CivilTimeEncoder
-
public final class CivilTimeEncoder extends java.lang.ObjectEncoder for TIME and DATETIME values, according to civil_time encoding. Copied out of the zetasql package.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
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.joda.time.LocalTimedecodePacked32TimeSeconds(int bitFieldTimeSeconds)DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.static java.time.LocalTimedecodePacked32TimeSecondsAsJavaTime(int bitFieldTimeSeconds)DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.static org.joda.time.LocalDateTimedecodePacked64DatetimeMicros(long bitFieldDatetimeMicros)DecodesbitFieldDatetimeMicrosas aLocalDateTimewith microseconds precision.static java.time.LocalDateTimedecodePacked64DatetimeMicrosAsJavaTime(long bitFieldDatetimeMicros)DecodesbitFieldDatetimeMicrosas aLocalDateTimewith microseconds precision.static org.joda.time.LocalDateTimedecodePacked64DatetimeSeconds(long bitFieldDatetimeSeconds)DecodesbitFieldDatetimeSecondsas aLocalDateTimewith seconds precision.static java.time.LocalDateTimedecodePacked64DatetimeSecondsAsJavaTime(long bitFieldDatetimeSeconds)DecodesbitFieldDatetimeSecondsas aLocalDateTimewith seconds precision.static org.joda.time.LocalTimedecodePacked64TimeMicros(long bitFieldTimeMicros)DecodesbitFieldTimeMicrosas aLocalTimewith microseconds precision.static java.time.LocalTimedecodePacked64TimeMicrosAsJavaTime(long bitFieldTimeMicros)DecodesbitFieldTimeMicrosas aLocalTimewith microseconds precision.static org.joda.time.LocalTimedecodePacked64TimeNanos(long bitFieldTimeNanos)DecodesbitFieldTimeNanosas aLocalTimewith nanoseconds precision.static java.time.LocalTimedecodePacked64TimeNanosAsJavaTime(long bitFieldTimeNanos)DecodesbitFieldTimeNanosas aLocalTimewith nanoseconds precision.static intencodePacked32TimeSeconds(java.time.LocalTime time)Encodestimeas a 4-byte integer with seconds precision.static intencodePacked32TimeSeconds(org.joda.time.LocalTime time)Encodestimeas a 4-byte integer with seconds precision.static longencodePacked64DatetimeMicros(java.time.LocalDateTime dateTime)EncodesdateTimeas a 8-byte integer with microseconds precision.static longencodePacked64DatetimeMicros(org.joda.time.LocalDateTime dateTime)EncodesdateTimeas a 8-byte integer with microseconds precision.static longencodePacked64DatetimeSeconds(java.time.LocalDateTime dateTime)EncodesdateTimeas a 8-byte integer with seconds precision.static longencodePacked64DatetimeSeconds(org.joda.time.LocalDateTime dateTime)EncodesdateTimeas a 8-byte integer with seconds precision.static longencodePacked64TimeMicros(java.time.LocalTime time)Encodestimeas a 8-byte integer with microseconds precision.static longencodePacked64TimeMicros(org.joda.time.LocalTime time)Encodestimeas a 8-byte integer with microseconds precision.static longencodePacked64TimeNanos(java.time.LocalTime time)Encodestimeas a 8-byte integer with nanoseconds precision.static longencodePacked64TimeNanos(org.joda.time.LocalTime time)Encodestimeas a 8-byte integer with nanoseconds precision.
-
-
-
Method Detail
-
encodePacked32TimeSeconds
public static int encodePacked32TimeSeconds(org.joda.time.LocalTime time)
Encodestimeas a 4-byte integer with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |
-
encodePacked32TimeSeconds
public static int encodePacked32TimeSeconds(java.time.LocalTime time)
Encodestimeas a 4-byte integer with seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |- See Also:
decodePacked32TimeSecondsAsJavaTime(int)
-
decodePacked32TimeSeconds
public static org.joda.time.LocalTime decodePacked32TimeSeconds(int bitFieldTimeSeconds)
DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |- See Also:
encodePacked32TimeSeconds(LocalTime),#encodePacked32TimeSecondsAsJavaTime(int)
-
decodePacked32TimeSecondsAsJavaTime
public static java.time.LocalTime decodePacked32TimeSecondsAsJavaTime(int bitFieldTimeSeconds)
DecodesbitFieldTimeSecondsas aLocalTimewith seconds precision.Encoding is as the following:
3 2 1 MSB 10987654321098765432109876543210 LSB | H || M || S |
-
encodePacked64TimeMicros
public static long encodePacked64TimeMicros(org.joda.time.LocalTime time)
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-----|
-
encodePacked64TimeMicros
public static long encodePacked64TimeMicros(java.time.LocalTime time)
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:
decodePacked64TimeMicrosAsJavaTime(long)
-
decodePacked64TimeMicros
public static org.joda.time.LocalTime decodePacked64TimeMicros(long bitFieldTimeMicros)
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.
-
decodePacked64TimeMicrosAsJavaTime
public static java.time.LocalTime decodePacked64TimeMicrosAsJavaTime(long bitFieldTimeMicros)
DecodesbitFieldTimeMicrosas aLocalTimewith microseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||-------micros-----|
-
encodePacked64TimeNanos
public static long encodePacked64TimeNanos(org.joda.time.LocalTime time)
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 -----------|
-
encodePacked64TimeNanos
public static long encodePacked64TimeNanos(java.time.LocalTime time)
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:
decodePacked64TimeNanosAsJavaTime(long)
-
decodePacked64TimeNanos
public static org.joda.time.LocalTime decodePacked64TimeNanos(long bitFieldTimeNanos)
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.
-
decodePacked64TimeNanosAsJavaTime
public static java.time.LocalTime decodePacked64TimeNanosAsJavaTime(long bitFieldTimeNanos)
DecodesbitFieldTimeNanosas aLocalTimewith nanoseconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB | H || M || S ||---------- nanos -----------|
-
encodePacked64DatetimeSeconds
public static long encodePacked64DatetimeSeconds(org.joda.time.LocalDateTime dateTime)
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 |
-
encodePacked64DatetimeSeconds
public static long encodePacked64DatetimeSeconds(java.time.LocalDateTime dateTime)
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 |
-
decodePacked64DatetimeSeconds
public static org.joda.time.LocalDateTime decodePacked64DatetimeSeconds(long bitFieldDatetimeSeconds)
DecodesbitFieldDatetimeSecondsas aLocalDateTimewith seconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S |
-
decodePacked64DatetimeSecondsAsJavaTime
public static java.time.LocalDateTime decodePacked64DatetimeSecondsAsJavaTime(long bitFieldDatetimeSeconds)
DecodesbitFieldDatetimeSecondsas aLocalDateTimewith seconds precision.Encoding is as the following:
6 5 4 3 2 1 MSB 3210987654321098765432109876543210987654321098765432109876543210 LSB |--- year ---||m || D || H || M || S |
-
encodePacked64DatetimeMicros
public static long encodePacked64DatetimeMicros(org.joda.time.LocalDateTime dateTime)
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-----|
-
encodePacked64DatetimeMicros
public static long encodePacked64DatetimeMicros(java.time.LocalDateTime dateTime)
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-----|
-
decodePacked64DatetimeMicros
public static org.joda.time.LocalDateTime decodePacked64DatetimeMicros(long bitFieldDatetimeMicros)
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.
-
decodePacked64DatetimeMicrosAsJavaTime
public static java.time.LocalDateTime decodePacked64DatetimeMicrosAsJavaTime(long bitFieldDatetimeMicros)
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-----|
-
-