Package io.trino.type
Class DateTimes
java.lang.Object
io.trino.type.DateTimes
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Patternstatic final longstatic final longstatic final intstatic final intstatic final longstatic final longstatic final intstatic final longstatic final longstatic final longstatic final intstatic final intstatic final longstatic final longstatic final longstatic final longstatic final intstatic final intstatic final longstatic final intstatic final longstatic final longstatic final longstatic final Pattern -
Method Summary
Modifier and TypeMethodDescriptionstatic intcalculateOffsetMinutes(int sign, int offsetHour, int offsetMinute) static longepochMicrosToMillisWithRounding(long epochMicros) static longepochSecondToMicrosWithRounding(long epochSecond, long picoOfSecond) static intextractTimePrecision(String value) static intextractTimestampPrecision(String value) static StringformatTimestamp(int precision, long epochMicros, int picosOfMicro, ZoneId zoneId) Formats a timestamp of the given precision.static StringformatTimestamp(int precision, long epochMicros, int picosOfMicro, ZoneId zoneId, DateTimeFormatter yearToSecondFormatter) Formats a timestamp of the given precision.static StringformatTimestamp(int precision, LocalDateTime dateTime, long picoFraction, DateTimeFormatter yearToSecondFormatter, Consumer<StringBuilder> zoneIdFormatter) static StringformatTimestampWithTimeZone(int precision, long epochMillis, int picosOfMilli, ZoneId zoneId) static intgetMicrosOfMilli(long epochMicros) static intgetMicrosOfSecond(long epochMicros) static intgetMillisOfSecond(long epochMillis) static intgetOffsetMinutes(Instant instant, TimeZoneKey zoneKey) static booleanisValidOffset(int hour, int minute) static LongTimestamplongTimestamp(long epochSecond, long fractionInPicos) static LongTimestamplongTimestamp(long precision, Instant start) static LongTimestampWithTimeZonelongTimestampWithTimeZone(long epochSecond, long fractionInPicos, ZoneId zoneId) static LongTimestampWithTimeZonelongTimestampWithTimeZone(long precision, Instant start, TimeZoneKey timeZoneKey) static LongTimeWithTimeZoneparseLongTimeWithTimeZone(String value) static longparseShortTimeWithTimeZone(String value) static longstatic ObjectparseTimestamp(int precision, String value) static ObjectparseTimestampWithTimeZone(int precision, String value) static ObjectparseTimeWithTimeZone(int precision, String value) static longrescale(long value, int fromPrecision, int toPrecision) Rescales a value of the given precision to another precision by adding 0s or truncating.static longrescaleWithRounding(long value, int fromPrecision, int toPrecision) static longround(long value, int magnitude) static longroundToEpochMillis(LongTimestampWithTimeZone timestamp) static longroundToNearest(long value, long bound) static longscaleEpochMicrosToMillis(long value) static longscaleEpochMicrosToSeconds(long epochMicros) static longscaleEpochMillisToMicros(long epochMillis) static longscaleEpochMillisToSeconds(long epochMillis) static longscaleFactor(int fromPrecision, int toPrecision) static booleantimeHasTimeZone(String value) static booleantimestampHasTimeZone(String value) static longtoEpochMicros(long epochMillis, int picosOfMilli) static LocalDateTimetoLocalDateTime(TimestampType type, Block block, int position) static ZonedDateTimetoZonedDateTime(TimestampWithTimeZoneType type, Block block, int position)
-
Field Details
-
DATETIME_PATTERN
-
TIME_PATTERN
-
MILLISECONDS_PER_SECOND
public static final int MILLISECONDS_PER_SECOND- See Also:
-
MILLISECONDS_PER_MINUTE
public static final long MILLISECONDS_PER_MINUTE- See Also:
-
MILLISECONDS_PER_DAY
public static final long MILLISECONDS_PER_DAY- See Also:
-
MICROSECONDS_PER_SECOND
public static final int MICROSECONDS_PER_SECOND- See Also:
-
MICROSECONDS_PER_MILLISECOND
public static final int MICROSECONDS_PER_MILLISECOND- See Also:
-
MICROSECONDS_PER_DAY
public static final long MICROSECONDS_PER_DAY- See Also:
-
PICOSECONDS_PER_SECOND
public static final long PICOSECONDS_PER_SECOND- See Also:
-
NANOSECONDS_PER_SECOND
public static final long NANOSECONDS_PER_SECOND- See Also:
-
NANOSECONDS_PER_MINUTE
public static final long NANOSECONDS_PER_MINUTE- See Also:
-
NANOSECONDS_PER_HOUR
public static final long NANOSECONDS_PER_HOUR- See Also:
-
NANOSECONDS_PER_DAY
public static final long NANOSECONDS_PER_DAY- See Also:
-
NANOSECONDS_PER_MILLISECOND
public static final int NANOSECONDS_PER_MILLISECOND- See Also:
-
NANOSECONDS_PER_MICROSECOND
public static final int NANOSECONDS_PER_MICROSECOND- See Also:
-
PICOSECONDS_PER_MILLISECOND
public static final int PICOSECONDS_PER_MILLISECOND- See Also:
-
PICOSECONDS_PER_MICROSECOND
public static final int PICOSECONDS_PER_MICROSECOND- See Also:
-
PICOSECONDS_PER_NANOSECOND
public static final int PICOSECONDS_PER_NANOSECOND- See Also:
-
SECONDS_PER_MINUTE
public static final long SECONDS_PER_MINUTE- See Also:
-
MINUTES_PER_HOUR
public static final long MINUTES_PER_HOUR- See Also:
-
HOURS_PER_DAY
public static final long HOURS_PER_DAY- See Also:
-
PICOSECONDS_PER_MINUTE
public static final long PICOSECONDS_PER_MINUTE- See Also:
-
PICOSECONDS_PER_HOUR
public static final long PICOSECONDS_PER_HOUR- See Also:
-
PICOSECONDS_PER_DAY
public static final long PICOSECONDS_PER_DAY- See Also:
-
SECONDS_PER_DAY
public static final long SECONDS_PER_DAY- See Also:
-
-
Method Details
-
scaleEpochMicrosToMillis
public static long scaleEpochMicrosToMillis(long value) -
epochMicrosToMillisWithRounding
public static long epochMicrosToMillisWithRounding(long epochMicros) -
scaleEpochMillisToSeconds
public static long scaleEpochMillisToSeconds(long epochMillis) -
scaleEpochMicrosToSeconds
public static long scaleEpochMicrosToSeconds(long epochMicros) -
scaleEpochMillisToMicros
public static long scaleEpochMillisToMicros(long epochMillis) -
epochSecondToMicrosWithRounding
public static long epochSecondToMicrosWithRounding(long epochSecond, long picoOfSecond) -
getMicrosOfSecond
public static int getMicrosOfSecond(long epochMicros) -
getMillisOfSecond
public static int getMillisOfSecond(long epochMillis) -
getMicrosOfMilli
public static int getMicrosOfMilli(long epochMicros) -
toEpochMicros
public static long toEpochMicros(long epochMillis, int picosOfMilli) -
round
public static long round(long value, int magnitude) -
roundToNearest
public static long roundToNearest(long value, long bound) -
scaleFactor
public static long scaleFactor(int fromPrecision, int toPrecision) -
rescale
public static long rescale(long value, int fromPrecision, int toPrecision) Rescales a value of the given precision to another precision by adding 0s or truncating. -
rescaleWithRounding
public static long rescaleWithRounding(long value, int fromPrecision, int toPrecision) -
timestampHasTimeZone
-
extractTimestampPrecision
-
toLocalDateTime
-
toZonedDateTime
public static ZonedDateTime toZonedDateTime(TimestampWithTimeZoneType type, Block block, int position) -
formatTimestamp
public static String formatTimestamp(int precision, long epochMicros, int picosOfMicro, ZoneId zoneId) Formats a timestamp of the given precision. This method doesn't do any rounding, so it's expected that the combination of [epochMicros, picosSecond] is already rounded to the provided precision if necessary -
formatTimestamp
public static String formatTimestamp(int precision, long epochMicros, int picosOfMicro, ZoneId zoneId, DateTimeFormatter yearToSecondFormatter) Formats a timestamp of the given precision. This method doesn't do any rounding, so it's expected that the combination of [epochMicros, picosSecond] is already rounded to the provided precision if necessary -
formatTimestampWithTimeZone
-
formatTimestamp
public static String formatTimestamp(int precision, LocalDateTime dateTime, long picoFraction, DateTimeFormatter yearToSecondFormatter, Consumer<StringBuilder> zoneIdFormatter) -
parseTimestamp
-
parseTimestampWithTimeZone
-
timeHasTimeZone
-
extractTimePrecision
-
parseTime
-
parseTimeWithTimeZone
-
parseShortTimeWithTimeZone
-
parseLongTimeWithTimeZone
-
longTimestamp
-
longTimestamp
-
longTimestampWithTimeZone
public static LongTimestampWithTimeZone longTimestampWithTimeZone(long precision, Instant start, TimeZoneKey timeZoneKey) -
longTimestampWithTimeZone
public static LongTimestampWithTimeZone longTimestampWithTimeZone(long epochSecond, long fractionInPicos, ZoneId zoneId) -
roundToEpochMillis
-
calculateOffsetMinutes
public static int calculateOffsetMinutes(int sign, int offsetHour, int offsetMinute) -
getOffsetMinutes
-
isValidOffset
public static boolean isValidOffset(int hour, int minute)
-