Class DatetimeUtil

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

public class DatetimeUtil extends Object
Datetime format and parse util.

Datetime include LocalDateTime LocalDate LocalTime OffsetDateTime OffsetTime ZonedDateTime ZoneOffset Instant and more.

Author:
Leonard Woo
  • Field Details

    • SYSTEM_ZONE

      public static final Clock SYSTEM_ZONE
      System timezone clock
    • UTC_ZONE

      public static final Clock UTC_ZONE
      UTC clock
    • 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'.
  • 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