Package org.assertj.core.util
Class DateUtil
java.lang.Object
org.assertj.core.util.DateUtil
Utility methods related to dates.
- Author:
- Joel Costigliola, Mikhail Mazursky
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
dayOfMonthOf
(Date date) Dates Extracts the day of month of the given Date.static int
dayOfWeekOf
(Date date) Extracts the day of week of the given Date, returned value followsCalendar.DAY_OF_WEEK
.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.static String
formatAsDatetime
(Date date) Formats the given date using the ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss).
Method is synchronized because SimpleDateFormat is not thread safe (sigh).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 is synchronized because SimpleDateFormat is not thread safe (sigh).static String
formatTimeDifference
(Date date1, Date date2) Utility method to display a human readable time difference.static int
hourOfDayOf
(Date date) Extracts the hour of day if the given Date (24-hour clock).static int
millisecondOf
(Date date) Extracts the millisecond of the given Date.static int
Dates Extracts the minute of the given Date.static int
Dates Extracts the month of the given Date starting at 1 (January=1, February=2, ...).static DateFormat
ISO 8601 date format (yyyy-MM-dd), example :2003-04-23
static DateFormat
ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss), example :2003-04-26T13:01:02
static DateFormat
ISO 8601 date-time format with ISO time zone (yyyy-MM-dd'T'HH:mm:ssX), example :2003-04-26T03:01:02+00:00
static DateFormat
ISO 8601 date-time format with millisecond and ISO time zone (yyyy-MM-dd'T'HH:mm:ss.SSSX), example :2003-04-26T03:01:02.758+00:00
static DateFormat
ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss.SSS), example :2003-04-26T03:01:02.999
static DateFormat
Timestamp
date-time format with millisecond (yyyy-MM-dd HH:mm:ss.SSS), example :2003-04-26 03:01:02.999
static Date
now()
static Date
Utility method to parse a Date followingISO_DATE_FORMAT
, returns null if the given String is null.static Date
parseDatetime
(String dateAsString) Utility method to parse a Date followingISO_DATE_TIME_FORMAT
, returns null if the given String is null.static Date
parseDatetimeWithMs
(String dateAsString) Utility method to parse a Date followingISO_DATE_TIME_FORMAT_WITH_MS
, returns null if the given String is null.static int
Extracts the second of the given Date.static long
timeDifference
(Date date1, Date date2) Compute the time difference between the two given dates in milliseconds, it always gives a positive result.static Calendar
toCalendar
(Date date) Converts the given Date to Calendar, returns null if the given Date is null.static Date
tomorrow()
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 give2008-12-29T00:00:00
.static int
Extracts the year of the given Date.static Date
-
Constructor Details
-
DateUtil
public DateUtil()
-
-
Method Details
-
newIsoDateFormat
ISO 8601 date format (yyyy-MM-dd), example :2003-04-23
- Returns:
- a
yyyy-MM-dd
DateFormat
-
newIsoDateTimeWithIsoTimeZoneFormat
ISO 8601 date-time format with ISO time zone (yyyy-MM-dd'T'HH:mm:ssX), example :2003-04-26T03:01:02+00:00
- Returns:
- a
yyyy-MM-dd'T'HH:mm:ssX
DateFormat
-
newIsoDateTimeFormat
ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss), example :2003-04-26T13:01:02
- Returns:
- a
yyyy-MM-dd'T'HH:mm:ss
DateFormat
-
newIsoDateTimeWithMsFormat
ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss.SSS), example :2003-04-26T03:01:02.999
- Returns:
- a
yyyy-MM-dd'T'HH:mm:ss.SSS
DateFormat
-
newIsoDateTimeWithMsAndIsoTimeZoneFormat
ISO 8601 date-time format with millisecond and ISO time zone (yyyy-MM-dd'T'HH:mm:ss.SSSX), example :2003-04-26T03:01:02.758+00:00
- Returns:
- a
yyyy-MM-dd'T'HH:mm:ss.SSSX
DateFormat
-
newTimestampDateFormat
Timestamp
date-time format with millisecond (yyyy-MM-dd HH:mm:ss.SSS), example :2003-04-26 03:01:02.999
- Returns:
- a
yyyy-MM-dd HH:mm:ss.SSS
DateFormat
-
formatAsDatetime
Formats the given date using the ISO 8601 date-time format (yyyy-MM-dd'T'HH:mm:ss).
Method is 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
Formats the given date using the ISO 8601 date-time format with millisecond (yyyy-MM-dd'T'HH:mm:ss:SSS).
Method is 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
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
Utility method to parse a Date followingISO_DATE_FORMAT
, returns null if the given String is null.- Parameters:
dateAsString
- the string to parse as a Date followingISO_DATE_FORMAT
- Returns:
- the corresponding Date or null if the given String is null.
- Throws:
RuntimeException
- encapsulating ParseException if the string can't be parsed as a Date
-
parseDatetime
Utility method to parse a Date followingISO_DATE_TIME_FORMAT
, returns null if the given String is null.Example:
Date date = parseDatetime("2003-04-26T03:01:02");
- Parameters:
dateAsString
- the string to parse as a Date followingISO_DATE_TIME_FORMAT
- Returns:
- the corresponding 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
-
parseDatetimeWithMs
Utility method to parse a Date followingISO_DATE_TIME_FORMAT_WITH_MS
, returns null if the given String is null.Example:
Date date = parseDatetimeWithMs("2003-04-26T03:01:02.999");
- Parameters:
dateAsString
- the string to parse as a Date followingISO_DATE_TIME_FORMAT_WITH_MS
- Returns:
- the corresponding 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
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
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
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
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
Extracts the day of week of the given Date, returned value followsCalendar.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
-
hourOfDayOf
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
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
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
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
-
timeDifference
Compute the time difference between the two given dates in milliseconds, it always gives a positive result.- Parameters:
date1
- the first date.date2
- the second date.- Returns:
- the difference between the two given dates in milliseconds
- Throws:
IllegalArgumentException
- if one a the given Date is null.
-
truncateTime
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 give2008-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.
-
now
-
yesterday
-
tomorrow
-
formatTimeDifference
Utility method to display a human readable time difference.- Parameters:
date1
- the first datedate2
- the second date- Returns:
- a human readable time difference.
-