Package org.fest.util

Class Dates

java.lang.Object
org.fest.util.Dates

public class Dates extends Object
Utility methods related to dates.
Author:
Joel Costigliola
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final DateFormat
    ISO 8601 date format (yyyy-MM-dd), example : 2003-04-23
    static final DateFormat
    ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss), example : 2003-04-26T13:01:02
    static final DateFormat
    ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss.SSS), example : 2003-04-26T03:01:02.999
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    Dates Extracts the day of month of the given Date.
    static int
    Extracts the day of week of the given Date, returned value follows Calendar.DAY_OF_WEEK .
    static String
    Formats the date of the given calendar using the ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss).
    Method is thread safe.
    static String
    Formats the given date using the ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss).
    Method in synchronized because SimpleDateFormat is not thread safe (sigh).
    static String
    Formats the given date using the ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss:SSS).
    Method in synchronized because SimpleDateFormat is not thread safe (sigh).
    static int
    Extracts the hour of day if the given Date (24-hour clock).
    static int
    Extracts the millisecond of the given Date.
    static int
    minuteOf(Date date)
    Dates Extracts the minute of the given Date.
    static int
    monthOf(Date date)
    Dates Extracts the month of the given Date starting at 1 (January=1, February=2, ...).
    static Date
    parse(String dateAsString)
    Utility method to parse a Date following ISO_DATE_FORMAT, returns null if the given String is null.
    static Date
    parseDatetime(String dateAsString)
    Utility method to parse a Date following ISO_DATE_TIME_FORMAT, returns null if the given String is null.
    static int
    secondOf(Date date)
    Extracts the second of the given Date.
    static Calendar
    Converts the given Date to Calendar, returns null if the given Date is null.
    static Date
     
    static Date
     
    static Date
    Returns a copy of the given date without the time part (which is set to 00:00:00), for example :
    truncateTime(2008-12-29T23:45:12) will give 2008-12-29T00:00:00.
    static int
    yearOf(Date date)
    Extracts the year of the given Date.
    static Date
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ISO_DATE_FORMAT

      public static final DateFormat ISO_DATE_FORMAT
      ISO 8601 date format (yyyy-MM-dd), example : 2003-04-23
    • ISO_DATE_TIME_FORMAT

      public static final DateFormat ISO_DATE_TIME_FORMAT
      ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss), example : 2003-04-26T13:01:02
    • ISO_DATE_TIME_FORMAT_WITH_MS

      public static final DateFormat ISO_DATE_TIME_FORMAT_WITH_MS
      ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss.SSS), example : 2003-04-26T03:01:02.999
  • Constructor Details

    • Dates

      public Dates()
  • Method Details

    • formatAsDatetime

      public static String formatAsDatetime(Date date)
      Formats the given date using the ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss).
      Method in synchronized because SimpleDateFormat is not thread safe (sigh).

      Returns null if given the date is null.

      Parameters:
      date - the date to format.
      Returns:
      the formatted date or null if given the date was null.
    • formatAsDatetimeWithMs

      public static String formatAsDatetimeWithMs(Date date)
      Formats the given date using the ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss:SSS).
      Method in synchronized because SimpleDateFormat is not thread safe (sigh).

      Returns null if given the date is null.

      Parameters:
      date - the date to format.
      Returns:
      the formatted date or null if given the date was null.
    • formatAsDatetime

      public static String formatAsDatetime(Calendar calendar)
      Formats the date of the given calendar using the ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss).
      Method is thread safe.

      Returns null if the given calendar is null.

      Parameters:
      calendar - the calendar to format.
      Returns:
      the formatted calendar or null if the given calendar was null.
    • parse

      public static Date parse(String dateAsString)
      Utility method to parse a Date following ISO_DATE_FORMAT, returns null if the given String is null.
      Parameters:
      dateAsString - the string to parse as a Date following ISO_DATE_FORMAT
      Returns:
      the corrresponding Date or null if the given String is null.
      Throws:
      RuntimeException - encapsulating ParseException if the string can't be parsed as a Date
    • parseDatetime

      public static Date parseDatetime(String dateAsString)
      Utility method to parse a Date following ISO_DATE_TIME_FORMAT, returns null if the given String is null.
      Parameters:
      dateAsString - the string to parse as a Date following ISO_DATE_TIME_FORMAT
      Returns:
      the corrresponding Date with time details or null if the given String is null.
      Throws:
      RuntimeException - encapsulating ParseException if the string can't be parsed as a Date
    • toCalendar

      public static Calendar toCalendar(Date date)
      Converts the given Date to Calendar, returns null if the given Date is null.
      Parameters:
      date - the date to convert to a Calendar.
      Returns:
      the Calendar corresponding to the given Date or null if the given Date is null.
    • yearOf

      public static int yearOf(Date date)
      Extracts the year of the given Date.
      Parameters:
      date - the date to extract the year from - must not be null.
      Returns:
      the year of the given Date
      Throws:
      NullPointerException - if given Date is null
    • monthOf

      public static int monthOf(Date date)
      Dates Extracts the month of the given Date starting at 1 (January=1, February=2, ...).
      Parameters:
      date - the date to extract the month from - must not be null.
      Returns:
      the month of the given Date starting at 1 (January=1, February=2, ...)
      Throws:
      NullPointerException - if given Date is null
    • dayOfMonthOf

      public static int dayOfMonthOf(Date date)
      Dates Extracts the day of month of the given Date.
      Parameters:
      date - the date to extract the day of month from - must not be null.
      Returns:
      the day of month of the given Date
      Throws:
      NullPointerException - if given Date is null
    • dayOfWeekOf

      public static int dayOfWeekOf(Date date)
      Extracts the day of week of the given Date, returned value follows Calendar.DAY_OF_WEEK .
      Parameters:
      date - the date to extract the day of week from - must not be null.
      Returns:
      the day of week of the given Date
      Throws:
      NullPointerException - if given Date is null
    • hourOfDay

      public static int hourOfDay(Date date)
      Extracts the hour of day if the given Date (24-hour clock).
      Parameters:
      date - the date to extract the hour of day from - must not be null.
      Returns:
      the hour of day of the given Date (24-hour clock)
      Throws:
      NullPointerException - if given Date is null
    • minuteOf

      public static int minuteOf(Date date)
      Dates Extracts the minute of the given Date.
      Parameters:
      date - the date to extract the minute from - must not be null.
      Returns:
      the minute of the given Date
      Throws:
      NullPointerException - if given Date is null
    • secondOf

      public static int secondOf(Date date)
      Extracts the second of the given Date.
      Parameters:
      date - the date to extract the second from - must not be null.
      Returns:
      the second of the given Date
      Throws:
      NullPointerException - if given Date is null
    • millisecondOf

      public static int millisecondOf(Date date)
      Extracts the millisecond of the given Date.
      Parameters:
      date - the date to extract the millisecond from - must not be null.
      Returns:
      the millisecond of the given Date
      Throws:
      NullPointerException - if given Date is null
    • truncateTime

      public static Date truncateTime(Date date)
      Returns a copy of the given date without the time part (which is set to 00:00:00), for example :
      truncateTime(2008-12-29T23:45:12) will give 2008-12-29T00:00:00.

      Returns null if the given Date is null.

      Parameters:
      date - we want to get the day part (the parameter is read only).
      Returns:
      the truncated date.
    • today

      public static Date today()
    • yesterday

      public static Date yesterday()
    • tomorrow

      public static Date tomorrow()