public class DateUtil
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
REVISION |
Constructor and Description |
---|
DateUtil() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
formatDuration(java.util.Date begin,
java.util.Date end)
Format a duration (i.e split the given time into days, hours, minutes and seconds)
E.g.: 124532923 -> 1 day 10 h 35 min 32 s.
|
static java.lang.String |
formatDuration(java.util.Date begin,
java.util.Date end,
java.util.Locale locale)
Format a duration (i.e split the given time into days, hours, minutes and seconds)
E.g.: 124532923 -> 1 day 10 h 35 min 32 s
|
static java.lang.String |
formatDuration(long time)
Format a duration (i.e split the given time into days, hours, minutes and seconds)
E.g.: 124532923 -> 1 day 10 h 35 min 32 s.
|
static java.lang.String |
formatDuration(long time,
java.util.Locale locale)
Format a duration (i.e split the given time into days, hours, minutes and seconds)
E.g.: 124532923 -> 1 day 10 h 35 min 32 s
|
static java.lang.String |
formatIso8601Date(java.util.Date date)
Returns a date formated with the ISO 8601 Date Time format (eg
1999-01-01T14:07:00+0100 ). |
static java.lang.String |
formatNoSpaceDate(java.util.Date date)
Returns a date formated with the following Date Time format: yyyy-MM-dd_hh-mm-ss
This method is thread safe. |
static java.lang.String |
formatRfc822Date(java.util.Date date)
Returns a date formated with the RFC 822 Date Time format (eg
Fri, 1 Jan 1999 14:07:00 +0100 ). |
static java.lang.String |
formatW3cDate(java.util.Date date)
Returns a date formated with the W3C Date Time format (eg
1999-01-01T14:07:00+01:00 ). |
static java.util.Date |
getDayEndDate(java.util.Date date,
java.util.Locale locale)
Get the date of the end of the day (23h59 59s 999 ms)
|
static java.util.Date |
getDayStartDate(java.util.Date date,
java.util.Locale locale)
Returns the date corresponding to the day start date of a date
|
static java.util.Date |
getNewDateWithoutMillis()
Returns the current date with milliseconds reset to 0.
|
static boolean |
isSameDay(java.util.Date date1,
java.util.Date date2)
Check if the 2 given dates are the same day (from 0h00 included to 0h00 excluded)
|
static boolean |
isToday(java.util.Date date)
Check if a given date is the same day as today (from 0h00 included to 0h00 excluded)
|
static boolean |
isTomorrow(java.util.Date date)
Check if a given date is the same day as tomorrow (from 0h00 included to 0h00 excluded)
|
static boolean |
isYesterday(java.util.Date date)
Check if a given date is the same day as yesterday (from 0h00 included to 0h00 excluded)
|
static void |
mainTestFormatDuration(java.lang.String[] args) |
static boolean |
overlapWith(java.util.Date startDate,
java.util.Date endDate,
java.util.Date secondStartDate,
java.util.Date secondEndDate)
Indicates if both intervals overlaps or not
|
static boolean |
overlapWith(java.util.Date startDate,
java.util.Date endDate,
java.util.Date secondStartDate,
java.util.Date secondEndDate,
boolean greedy)
Indicates if both intervals overlaps or not
|
static java.util.Date |
parseIso8601Date(java.lang.String source)
Returns the date parsed from the given string with the ISO 8601 Date Time format (eg
1999-01-01T14:07:00+0100 ). |
static java.util.Date |
parseNoSpaceDate(java.lang.String source)
Returns the date parsed from the given string with the following Date Time format: yyyy-MM-dd_hh-mm-ss
This method is thread safe. |
static java.util.Date |
parseRfc822Date(java.lang.String source)
Returns the date parsed from the given string with the RFC 822 Date Time format (eg "Fri, 1 Jan 1999 14:07:00 +0100").
|
static java.util.Date |
parseW3cDate(java.lang.String source)
Returns the date parsed from the given string with the W3C Date Time format (eg
1999-01-01T14:07:00+01:00 ). |
static void |
rollAndAdd(java.util.Calendar calendar,
int field,
int amount)
Do a roll on this calendar instance and add or remove one larger field if the roll action return to the boundary of the period
Example roll 1 day for 31/12/2010 will give 01/01/2010.
|
static long |
roundDuration(long duration)
Round a duration in order to remove irrelevant information for
duration which do not need to be accurate (usually when duration is formatted for the UI).
|
public static final java.lang.String REVISION
public static boolean overlapWith(java.util.Date startDate, java.util.Date endDate, java.util.Date secondStartDate, java.util.Date secondEndDate)
startDate
- the low boundary of the first intervalendDate
- the high boundary of the first intervalsecondStartDate
- the low boundary of the second intervalsecondEndDate
- the high boundary of the second intervalpublic static boolean overlapWith(java.util.Date startDate, java.util.Date endDate, java.util.Date secondStartDate, java.util.Date secondEndDate, boolean greedy)
startDate
- the low boundary of the first intervalendDate
- the high boundary of the first intervalsecondStartDate
- the low boundary of the second intervalsecondEndDate
- the high boundary of the second intervalgreedy
- true if the method shoudl return true when both interval overlap with only one boundarypublic static java.lang.String formatDuration(java.util.Date begin, java.util.Date end)
begin
- the begin dateend
- the end datepublic static java.lang.String formatDuration(java.util.Date begin, java.util.Date end, java.util.Locale locale)
begin
- the begin dateend
- the end datelocale
- the locale to usepublic static java.lang.String formatDuration(long time)
time
- the duration to format (in milliseconds)public static java.lang.String formatDuration(long time, java.util.Locale locale)
time
- the duration to format (in milliseconds)locale
- the locale to usepublic static void mainTestFormatDuration(java.lang.String[] args)
public static long roundDuration(long duration)
As of current implementation, the following rules are applied
Util.formatDuration(Util.roundDuration(38000)); // 38 s => 38 s Util.formatDuration(Util.roundDuration(76000)); // 1 min 16 s => 1 min 16 s Util.formatDuration(Util.roundDuration(1564512)); // 26 min 4 s => 26 min Util.formatDuration(Util.roundDuration(5890000)); // 1 h 38 min 10 s => 1 h 38 min Util.formatDuration(Util.roundDuration(33165000)); // 9 h 12 min 45 s => 9 h Util.formatDuration(Util.roundDuration(35025000)); // 9 h 43 min 45 s => 10 h Util.formatDuration(Util.roundDuration(130993000)); // 1 day 12 h 23 min 13 s => 1 day 12 h Util.formatDuration(Util.roundDuration(236158000)); // 2 days 17 h 35 min 58 s => 2 days 18 h Util.formatDuration(Util.roundDuration(731675000)); // 8 days 11 h 14 min 35 s => 8 days Util.formatDuration(Util.roundDuration(5934547000L)); // 68 days 16 h 29 min 7 s => 68 days
duration
- a duration in millisecondspublic static java.lang.String formatIso8601Date(java.util.Date date)
1999-01-01T14:07:00+0100
).date
- the date to format.parseIso8601Date(String)
public static java.util.Date parseIso8601Date(java.lang.String source)
1999-01-01T14:07:00+0100
).source
- the string to be parsedformatIso8601Date(Date)
public static java.lang.String formatW3cDate(java.util.Date date)
1999-01-01T14:07:00+01:00
).date
- the date to format.parseW3cDate(String)
public static java.util.Date parseW3cDate(java.lang.String source)
1999-01-01T14:07:00+01:00
).source
- the string to be parsedformatW3cDate(Date)
public static java.lang.String formatRfc822Date(java.util.Date date)
Fri, 1 Jan 1999 14:07:00 +0100
).
For more details, see http://www.w3.org/Protocols/rfc822/rfc822.txt section 5.1date
- the date to format.public static java.util.Date parseRfc822Date(java.lang.String source)
source
- the string to be parsedpublic static java.lang.String formatNoSpaceDate(java.util.Date date)
date
- the date to format.public static java.util.Date parseNoSpaceDate(java.lang.String source)
source
- the string to be parsedpublic static boolean isToday(java.util.Date date)
date
- the date to checkpublic static boolean isYesterday(java.util.Date date)
date
- the date to checkpublic static boolean isTomorrow(java.util.Date date)
date
- the date to checkpublic static boolean isSameDay(java.util.Date date1, java.util.Date date2)
date1
- the first date to checkdate2
- the second date to checkpublic static java.util.Date getNewDateWithoutMillis()
public static void rollAndAdd(java.util.Calendar calendar, int field, int amount)
calendar
- the calendar to updatefield
- the field to rollamount
- the amount of rollpublic static java.util.Date getDayEndDate(java.util.Date date, java.util.Locale locale)
date
- the datelocale
- the Locale
used to compute calendar objectpublic static java.util.Date getDayStartDate(java.util.Date date, java.util.Locale locale)
date
- the datelocale
- the Locale
used to compute calendar objectCopyright © 2001-2010 Jalios SA. All Rights Reserved.