Class DateTimeUtils
- java.lang.Object
-
- org.apache.flink.cdc.common.utils.DateTimeUtils
-
public class DateTimeUtils extends Object
Utility functions for datetime types: date, time, timestamp.
-
-
Field Summary
Fields Modifier and Type Field Description static intEPOCH_JULIANThe julian date of the epoch, 1970-01-01.static longMILLIS_PER_DAYThe number of milliseconds in a day.
-
Constructor Summary
Constructors Constructor Description DateTimeUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringformatInstant(java.time.Instant ts, String format, TimeZone timeZone)static StringformatLocalDateTime(java.time.LocalDateTime ts, String format)static StringformatUnixTimestamp(long unixTime, String format, TimeZone timeZone)Convert unix timestamp (seconds since '1970-01-01 00:00:00' UTC) to datetime string in the given format.static StringformatUnixTimestamp(long unixTime, TimeZone timeZone)Convert unix timestamp (seconds since '1970-01-01 00:00:00' UTC) to datetime string in the "yyyy-MM-dd HH:mm:ss" format.static java.time.LocalDateparseDate(String dateStr, String fromFormat)static java.time.InstanttimestampAdd(String timeIntervalUnit, int interval, java.time.Instant timePoint, String timezone)static IntegertimestampDiff(String timeIntervalUnit, java.time.Instant fromTimestamp, String fromTimezone, java.time.Instant toTimestamp, String toTimezone)static java.time.LocalDatetimestampMillisToDate(long ts)Get date from a timestamp.static java.time.LocalTimetimestampMillisToTime(long ts)Get time from a timestamp.static longunixTimestamp(String dateStr, String format, TimeZone timeZone)Returns the value of the argument as an unsigned integer in seconds since '1970-01-01 00:00:00' UTC.static longunixTimestamp(String dateStr, TimeZone timeZone)Returns the value of the argument as an unsigned integer in seconds since '1970-01-01 00:00:00' UTC.
-
-
-
Field Detail
-
EPOCH_JULIAN
public static final int EPOCH_JULIAN
The julian date of the epoch, 1970-01-01.- See Also:
- Constant Field Values
-
MILLIS_PER_DAY
public static final long MILLIS_PER_DAY
The number of milliseconds in a day.This is the modulo 'mask' used when converting TIMESTAMP values to DATE and TIME values.
- See Also:
- Constant Field Values
-
-
Method Detail
-
timestampMillisToDate
public static java.time.LocalDate timestampMillisToDate(long ts)
Get date from a timestamp.- Parameters:
ts- the timestamp in milliseconds.- Returns:
- the date in days.
-
timestampMillisToTime
public static java.time.LocalTime timestampMillisToTime(long ts)
Get time from a timestamp.- Parameters:
ts- the timestamp in milliseconds.- Returns:
- the time in milliseconds.
-
formatUnixTimestamp
public static String formatUnixTimestamp(long unixTime, TimeZone timeZone)
Convert unix timestamp (seconds since '1970-01-01 00:00:00' UTC) to datetime string in the "yyyy-MM-dd HH:mm:ss" format.
-
formatUnixTimestamp
public static String formatUnixTimestamp(long unixTime, String format, TimeZone timeZone)
Convert unix timestamp (seconds since '1970-01-01 00:00:00' UTC) to datetime string in the given format.
-
unixTimestamp
public static long unixTimestamp(String dateStr, TimeZone timeZone)
Returns the value of the argument as an unsigned integer in seconds since '1970-01-01 00:00:00' UTC.
-
unixTimestamp
public static long unixTimestamp(String dateStr, String format, TimeZone timeZone)
Returns the value of the argument as an unsigned integer in seconds since '1970-01-01 00:00:00' UTC.
-
formatInstant
public static String formatInstant(java.time.Instant ts, String format, TimeZone timeZone)
-
formatLocalDateTime
public static String formatLocalDateTime(java.time.LocalDateTime ts, String format)
-
timestampDiff
public static Integer timestampDiff(String timeIntervalUnit, java.time.Instant fromTimestamp, String fromTimezone, java.time.Instant toTimestamp, String toTimezone)
-
-