Class DatetimeUtil

java.lang.Object
org.seppiko.commons.utils.DatetimeUtil

public class DatetimeUtil extends Object
Datetime format and parse util. TemporalAccessor is DateTime super interface. Datetime include LocalDateTime LocalDate LocalTime OffsetDateTime OffsetTime ZonedDateTime ZoneOffset Instant and more.
Author:
Leonard Woo
  • Field Details

    • DATABASE_DATE_TIME

      public static final DateTimeFormatter DATABASE_DATE_TIME
      The database time formatter that formats or parses a time without an offset, such as '2021-07-16 21:08:45'.
    • RFC_3339_OFFSET_DATE_TIME

      public static final DateTimeFormatter RFC_3339_OFFSET_DATE_TIME
      The RFC 3339 time formatter that formats or parses a time with an offset, such as '2021-09-24T23:55:00.1234Z+09:00'.
    • BASIC_ISO_LOCAL_TIME

      public static final DateTimeFormatter BASIC_ISO_LOCAL_TIME
      The basic time formatter that formats or parses a time without an offset, such as '225803'.
    • BASIC_ISO_OFFSET_TIME

      public static final DateTimeFormatter BASIC_ISO_OFFSET_TIME
      The basic time formatter that formats or parses a time with an offset, such as '225803+09:00' or '135803Z'.
  • Constructor Details

    • DatetimeUtil

      public DatetimeUtil()
  • Method Details

    • format

      public static String format(String pattern, TemporalAccessor temporal)
      Datetime format
      Parameters:
      pattern - see DateTimeFormatter
      temporal - java.time datetime class
      Returns:
      Datetime formatted string
    • format

      public static String format(String pattern, Locale locale, TemporalAccessor temporal)
      Datetime format
      Parameters:
      pattern - see DateTimeFormatter
      locale - datetime local
      temporal - java.time datetime class
      Returns:
      Datetime formatted string
    • parse

      public static ZonedDateTime parse(String pattern, String timestamp)
      Datetime parser
      Parameters:
      pattern - datetime layout DateTimeFormatter
      timestamp - timestamp
      Returns:
      DateTime interface
    • parse

      public static ZonedDateTime parse(String pattern, Locale locale, String timestamp)
      Datetime parser
      Parameters:
      pattern - datetime layout DateTimeFormatter
      locale - timestamp local
      timestamp - timestamp
      Returns:
      DateTime interface
    • toEpochSecond

      public static long toEpochSecond(TemporalAccessor temporal)
      Datetime to epoch second
      Parameters:
      temporal - datetime
      Returns:
      epoch second
    • toEpochMilliSecond

      public static long toEpochMilliSecond(TemporalAccessor temporal)
      Datetime to epoch millisecond
      Parameters:
      temporal - datetime
      Returns:
      epoch millisecond
    • parseEpochSecond

      public static ZonedDateTime parseEpochSecond(long epoch, ZoneId zoneId)
      Epoch second parser
      Parameters:
      epoch - epoch second
      zoneId - time zone
      Returns:
      Zoned DateTime
    • parseEpochMilliSecond

      public static ZonedDateTime parseEpochMilliSecond(long milli, ZoneId zoneId)
      Epoch millisecond parser
      Parameters:
      milli - epoch millisecond
      zoneId - time zone
      Returns:
      Zoned DateTime
    • now

      public static long now()
      Get UTC now epoch millisecond
      Returns:
      epoch millisecond
    • now

      public static long now(ZoneId zoneId)
      Get now epoch millisecond
      Parameters:
      zoneId - zone id
      Returns:
      epoch millisecond
    • today

      public static LocalDate today()
      Get today
      Returns:
      today
    • today

      public static LocalDate today(ZoneId zoneId)
      Get today with zone
      Parameters:
      zoneId - zone id
      Returns:
      today
    • getYearMonth

      public static YearMonth getYearMonth(LocalDate date)
      Get LocalDate year and month
      Parameters:
      date - local date
      Returns:
      year and month
    • getMonthDay

      public static MonthDay getMonthDay(LocalDate date)
      Get LocalDate month and day
      Parameters:
      date - local date
      Returns:
      month and day of month
    • toDate

      public static Date toDate(LocalDateTime datetime, ZoneId zoneId)
      Convert to Date
      Parameters:
      datetime - local datetime
      zoneId - local datetime zone e.g. ZoneId.systemDefault()
      Returns:
      date object
    • fromDate

      public static LocalDateTime fromDate(Date datetime, ZoneId zoneId)
      Convert from Date
      Parameters:
      datetime - date object
      zoneId - date zone e.g. ZoneId.systemDefault()
      Returns:
      local datetime object
    • toCalendar

      public static Calendar toCalendar(LocalDateTime dateTime, ZoneId zoneId)
      Convert to Calendar
      Parameters:
      dateTime - local datetime
      zoneId - local datetime zone e.g. ZoneId.systemDefault()
      Returns:
      calender object
    • fromCalendar

      public static LocalDateTime fromCalendar(Calendar calendar, ZoneId zoneId)
      Convert from Calendar
      Parameters:
      calendar - calender object
      zoneId - date zone e.g. ZoneId.systemDefault()
      Returns:
      local datetime object