| java.lang.Object org.apache.commons.lang.time.DateUtils
Inner Class :static class DateIterator implements Iterator | |
Field Summary | |
final public static int | MILLIS_IN_DAY Number of milliseconds in a standard day. | final public static int | MILLIS_IN_HOUR Number of milliseconds in a standard hour. | final public static int | MILLIS_IN_MINUTE Number of milliseconds in a standard minute. | final public static int | MILLIS_IN_SECOND Number of milliseconds in a standard second. | final public static long | MILLIS_PER_DAY Number of milliseconds in a standard day. | final public static long | MILLIS_PER_HOUR Number of milliseconds in a standard hour. | final public static long | MILLIS_PER_MINUTE Number of milliseconds in a standard minute. | final public static long | MILLIS_PER_SECOND Number of milliseconds in a standard second. | final public static int | RANGE_MONTH_MONDAY A month range, the week starting on Monday. | final public static int | RANGE_MONTH_SUNDAY A month range, the week starting on Sunday. | final public static int | RANGE_WEEK_CENTER A week range, centered around the day focused. | final public static int | RANGE_WEEK_MONDAY A week range, starting on Monday. | final public static int | RANGE_WEEK_RELATIVE A week range, starting on the day focused. | final public static int | RANGE_WEEK_SUNDAY A week range, starting on Sunday. | final public static int | SEMI_MONTH This is half a month, so this represents whether a date is in the top
or bottom half of the month. | final public static TimeZone | UTC_TIME_ZONE The UTC time zone (often referred to as GMT). |
Constructor Summary | |
public | DateUtils() DateUtils instances should NOT be constructed in
standard programming.
|
Method Summary | |
public static Date | add(Date date, int calendarField, int amount) Adds to a date returning a new object. | public static Date | addDays(Date date, int amount) Adds a number of days to a date returning a new object. | public static Date | addHours(Date date, int amount) Adds a number of hours to a date returning a new object. | public static Date | addMilliseconds(Date date, int amount) Adds a number of milliseconds to a date returning a new object. | public static Date | addMinutes(Date date, int amount) Adds a number of minutes to a date returning a new object. | public static Date | addMonths(Date date, int amount) Adds a number of months to a date returning a new object. | public static Date | addSeconds(Date date, int amount) Adds a number of seconds to a date returning a new object. | public static Date | addWeeks(Date date, int amount) Adds a number of weeks to a date returning a new object. | public static Date | addYears(Date date, int amount) Adds a number of years to a date returning a new object. | public static boolean | isSameDay(Date date1, Date date2) Checks if two date objects are on the same day ignoring time.
28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. | public static boolean | isSameDay(Calendar cal1, Calendar cal2) Checks if two calendar objects are on the same day ignoring time.
28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. | public static boolean | isSameInstant(Date date1, Date date2) | public static boolean | isSameInstant(Calendar cal1, Calendar cal2) | public static boolean | isSameLocalTime(Calendar cal1, Calendar cal2) Checks if two calendar objects represent the same local time.
This method compares the values of the fields of the two objects. | public static Iterator | iterator(Date focus, int rangeStyle) This constructs an Iterator over each day in a date
range defined by a focus date and range style.
For instance, passing Thursday, July 4, 2002 and a
RANGE_MONTH_SUNDAY will return an Iterator
that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
2002, returning a Calendar instance for each intermediate day.
This method provides an iterator that returns Calendar objects.
The days are progressed using
Calendar.add(intint) .
Parameters: focus - the date to work with, not null Parameters: rangeStyle - the style constant to use. | public static Iterator | iterator(Calendar focus, int rangeStyle) This constructs an Iterator over each day in a date
range defined by a focus date and range style.
For instance, passing Thursday, July 4, 2002 and a
RANGE_MONTH_SUNDAY will return an Iterator
that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
2002, returning a Calendar instance for each intermediate day.
This method provides an iterator that returns Calendar objects.
The days are progressed using
Calendar.add(intint) .
Parameters: focus - the date to work with Parameters: rangeStyle - the style constant to use. | public static Iterator | iterator(Object focus, int rangeStyle) This constructs an Iterator over each day in a date
range defined by a focus date and range style.
For instance, passing Thursday, July 4, 2002 and a
RANGE_MONTH_SUNDAY will return an Iterator
that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
2002, returning a Calendar instance for each intermediate day.
Parameters: focus - the date to work with, eitherDate or Calendar Parameters: rangeStyle - the style constant to use. | public static Date | parseDate(String str, String[] parsePatterns) Parses a string representing a date by trying a variety of different parsers.
The parse will try each parse pattern in turn. | public static Date | round(Date date, int field) Round this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if this was passed with HOUR, it would return
28 Mar 2002 14:00:00.000. | public static Calendar | round(Calendar date, int field) Round this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if this was passed with HOUR, it would return
28 Mar 2002 14:00:00.000. | public static Date | round(Object date, int field) Round this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if this was passed with HOUR, it would return
28 Mar 2002 14:00:00.000. | public static Date | truncate(Date date, int field) Truncate this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if you passed with HOUR, it would return 28 Mar
2002 13:00:00.000. | public static Calendar | truncate(Calendar date, int field) Truncate this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if you passed with HOUR, it would return 28 Mar
2002 13:00:00.000. | public static Date | truncate(Object date, int field) Truncate this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if you passed with HOUR, it would return 28 Mar
2002 13:00:00.000. |
MILLIS_IN_DAY | final public static int MILLIS_IN_DAY(Code) | | Number of milliseconds in a standard day.
|
MILLIS_IN_HOUR | final public static int MILLIS_IN_HOUR(Code) | | Number of milliseconds in a standard hour.
|
MILLIS_IN_MINUTE | final public static int MILLIS_IN_MINUTE(Code) | | Number of milliseconds in a standard minute.
|
MILLIS_IN_SECOND | final public static int MILLIS_IN_SECOND(Code) | | Number of milliseconds in a standard second.
|
MILLIS_PER_DAY | final public static long MILLIS_PER_DAY(Code) | | Number of milliseconds in a standard day.
since: 2.1 |
MILLIS_PER_HOUR | final public static long MILLIS_PER_HOUR(Code) | | Number of milliseconds in a standard hour.
since: 2.1 |
MILLIS_PER_MINUTE | final public static long MILLIS_PER_MINUTE(Code) | | Number of milliseconds in a standard minute.
since: 2.1 |
MILLIS_PER_SECOND | final public static long MILLIS_PER_SECOND(Code) | | Number of milliseconds in a standard second.
since: 2.1 |
RANGE_MONTH_MONDAY | final public static int RANGE_MONTH_MONDAY(Code) | | A month range, the week starting on Monday.
|
RANGE_MONTH_SUNDAY | final public static int RANGE_MONTH_SUNDAY(Code) | | A month range, the week starting on Sunday.
|
RANGE_WEEK_CENTER | final public static int RANGE_WEEK_CENTER(Code) | | A week range, centered around the day focused.
|
RANGE_WEEK_MONDAY | final public static int RANGE_WEEK_MONDAY(Code) | | A week range, starting on Monday.
|
RANGE_WEEK_RELATIVE | final public static int RANGE_WEEK_RELATIVE(Code) | | A week range, starting on the day focused.
|
RANGE_WEEK_SUNDAY | final public static int RANGE_WEEK_SUNDAY(Code) | | A week range, starting on Sunday.
|
SEMI_MONTH | final public static int SEMI_MONTH(Code) | | This is half a month, so this represents whether a date is in the top
or bottom half of the month.
|
UTC_TIME_ZONE | final public static TimeZone UTC_TIME_ZONE(Code) | | The UTC time zone (often referred to as GMT).
|
DateUtils | public DateUtils()(Code) | | DateUtils instances should NOT be constructed in
standard programming. Instead, the class should be used as
DateUtils.parse(str); .
This constructor is public to permit tools that require a JavaBean
instance to operate.
|
add | public static Date add(Date date, int calendarField, int amount)(Code) | | Adds to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: calendarField - the calendar field to add to Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addDays | public static Date addDays(Date date, int amount)(Code) | | Adds a number of days to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addHours | public static Date addHours(Date date, int amount)(Code) | | Adds a number of hours to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addMilliseconds | public static Date addMilliseconds(Date date, int amount)(Code) | | Adds a number of milliseconds to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addMinutes | public static Date addMinutes(Date date, int amount)(Code) | | Adds a number of minutes to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addMonths | public static Date addMonths(Date date, int amount)(Code) | | Adds a number of months to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addSeconds | public static Date addSeconds(Date date, int amount)(Code) | | Adds a number of seconds to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addWeeks | public static Date addWeeks(Date date, int amount)(Code) | | Adds a number of weeks to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
addYears | public static Date addYears(Date date, int amount)(Code) | | Adds a number of years to a date returning a new object.
The original date object is unchanged.
Parameters: date - the date, not null Parameters: amount - the amount to add, may be negative the new date object with the amount added throws: IllegalArgumentException - if the date is null |
isSameDay | public static boolean isSameDay(Date date1, Date date2)(Code) | | Checks if two date objects are on the same day ignoring time.
28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true.
28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false.
Parameters: date1 - the first date, not altered, not null Parameters: date2 - the second date, not altered, not null true if they represent the same day throws: IllegalArgumentException - if either date is null since: 2.1 |
isSameDay | public static boolean isSameDay(Calendar cal1, Calendar cal2)(Code) | | Checks if two calendar objects are on the same day ignoring time.
28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true.
28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false.
Parameters: cal1 - the first calendar, not altered, not null Parameters: cal2 - the second calendar, not altered, not null true if they represent the same day throws: IllegalArgumentException - if either calendar is null since: 2.1 |
isSameInstant | public static boolean isSameInstant(Date date1, Date date2)(Code) | | Checks if two date objects represent the same instant in time.
This method compares the long millisecond time of the two objects.
Parameters: date1 - the first date, not altered, not null Parameters: date2 - the second date, not altered, not null true if they represent the same millisecond instant throws: IllegalArgumentException - if either date is null since: 2.1 |
isSameInstant | public static boolean isSameInstant(Calendar cal1, Calendar cal2)(Code) | | Checks if two calendar objects represent the same instant in time.
This method compares the long millisecond time of the two objects.
Parameters: cal1 - the first calendar, not altered, not null Parameters: cal2 - the second calendar, not altered, not null true if they represent the same millisecond instant throws: IllegalArgumentException - if either date is null since: 2.1 |
isSameLocalTime | public static boolean isSameLocalTime(Calendar cal1, Calendar cal2)(Code) | | Checks if two calendar objects represent the same local time.
This method compares the values of the fields of the two objects.
In addition, both calendars must be the same of the same type.
Parameters: cal1 - the first calendar, not altered, not null Parameters: cal2 - the second calendar, not altered, not null true if they represent the same millisecond instant throws: IllegalArgumentException - if either date is null since: 2.1 |
iterator | public static Iterator iterator(Date focus, int rangeStyle)(Code) | | This constructs an Iterator over each day in a date
range defined by a focus date and range style.
For instance, passing Thursday, July 4, 2002 and a
RANGE_MONTH_SUNDAY will return an Iterator
that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
2002, returning a Calendar instance for each intermediate day.
This method provides an iterator that returns Calendar objects.
The days are progressed using
Calendar.add(intint) .
Parameters: focus - the date to work with, not null Parameters: rangeStyle - the style constant to use. Must be one ofDateUtils.RANGE_MONTH_SUNDAY, DateUtils.RANGE_MONTH_MONDAY,DateUtils.RANGE_WEEK_SUNDAY,DateUtils.RANGE_WEEK_MONDAY,DateUtils.RANGE_WEEK_RELATIVE,DateUtils.RANGE_WEEK_CENTER the date iterator, which always returns Calendar instances throws: IllegalArgumentException - if the date is null throws: IllegalArgumentException - if the rangeStyle is invalid |
iterator | public static Iterator iterator(Calendar focus, int rangeStyle)(Code) | | This constructs an Iterator over each day in a date
range defined by a focus date and range style.
For instance, passing Thursday, July 4, 2002 and a
RANGE_MONTH_SUNDAY will return an Iterator
that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
2002, returning a Calendar instance for each intermediate day.
This method provides an iterator that returns Calendar objects.
The days are progressed using
Calendar.add(intint) .
Parameters: focus - the date to work with Parameters: rangeStyle - the style constant to use. Must be one ofDateUtils.RANGE_MONTH_SUNDAY, DateUtils.RANGE_MONTH_MONDAY,DateUtils.RANGE_WEEK_SUNDAY,DateUtils.RANGE_WEEK_MONDAY,DateUtils.RANGE_WEEK_RELATIVE,DateUtils.RANGE_WEEK_CENTER the date iterator throws: IllegalArgumentException - if the date is null throws: IllegalArgumentException - if the rangeStyle is invalid |
iterator | public static Iterator iterator(Object focus, int rangeStyle)(Code) | | This constructs an Iterator over each day in a date
range defined by a focus date and range style.
For instance, passing Thursday, July 4, 2002 and a
RANGE_MONTH_SUNDAY will return an Iterator
that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
2002, returning a Calendar instance for each intermediate day.
Parameters: focus - the date to work with, eitherDate or Calendar Parameters: rangeStyle - the style constant to use. Must be one of the rangestyles listed for the DateUtils.iterator(Calendar,int) method. the date iterator throws: IllegalArgumentException - if the dateis null throws: ClassCastException - if the object type isnot a Date or Calendar |
parseDate | public static Date parseDate(String str, String[] parsePatterns) throws ParseException(Code) | | Parses a string representing a date by trying a variety of different parsers.
The parse will try each parse pattern in turn.
A parse is only deemed sucessful if it parses the whole of the input string.
If no parse patterns match, a ParseException is thrown.
Parameters: str - the date to parse, not null Parameters: parsePatterns - the date format patterns to use, see SimpleDateFormat, not null the parsed date throws: IllegalArgumentException - if the date string or pattern array is null throws: ParseException - if none of the date patterns were suitable |
round | public static Date round(Date date, int field)(Code) | | Round this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if this was passed with HOUR, it would return
28 Mar 2002 14:00:00.000. If this was passed with MONTH, it
would return 1 April 2002 0:00:00.000.
For a date in a timezone that handles the change to daylight
saving time, rounding to Calendar.HOUR_OF_DAY will behave as follows.
Suppose daylight saving time begins at 02:00 on March 30. Rounding a
date that crosses this time would produce the following values:
- March 30, 2003 01:10 rounds to March 30, 2003 01:00
- March 30, 2003 01:40 rounds to March 30, 2003 03:00
- March 30, 2003 02:10 rounds to March 30, 2003 03:00
- March 30, 2003 02:40 rounds to March 30, 2003 04:00
Parameters: date - the date to work with Parameters: field - the field from Calendar or SEMI_MONTH the rounded date throws: IllegalArgumentException - if the date is null throws: ArithmeticException - if the year is over 280 million |
round | public static Calendar round(Calendar date, int field)(Code) | | Round this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if this was passed with HOUR, it would return
28 Mar 2002 14:00:00.000. If this was passed with MONTH, it
would return 1 April 2002 0:00:00.000.
For a date in a timezone that handles the change to daylight
saving time, rounding to Calendar.HOUR_OF_DAY will behave as follows.
Suppose daylight saving time begins at 02:00 on March 30. Rounding a
date that crosses this time would produce the following values:
- March 30, 2003 01:10 rounds to March 30, 2003 01:00
- March 30, 2003 01:40 rounds to March 30, 2003 03:00
- March 30, 2003 02:10 rounds to March 30, 2003 03:00
- March 30, 2003 02:40 rounds to March 30, 2003 04:00
Parameters: date - the date to work with Parameters: field - the field from Calendar or SEMI_MONTH the rounded date (a different object) throws: IllegalArgumentException - if the date is null throws: ArithmeticException - if the year is over 280 million |
round | public static Date round(Object date, int field)(Code) | | Round this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if this was passed with HOUR, it would return
28 Mar 2002 14:00:00.000. If this was passed with MONTH, it
would return 1 April 2002 0:00:00.000.
For a date in a timezone that handles the change to daylight
saving time, rounding to Calendar.HOUR_OF_DAY will behave as follows.
Suppose daylight saving time begins at 02:00 on March 30. Rounding a
date that crosses this time would produce the following values:
- March 30, 2003 01:10 rounds to March 30, 2003 01:00
- March 30, 2003 01:40 rounds to March 30, 2003 03:00
- March 30, 2003 02:10 rounds to March 30, 2003 03:00
- March 30, 2003 02:40 rounds to March 30, 2003 04:00
Parameters: date - the date to work with, either Date or Calendar Parameters: field - the field from Calendar or SEMI_MONTH the rounded date throws: IllegalArgumentException - if the date is null throws: ClassCastException - if the object type is not a Date or Calendar throws: ArithmeticException - if the year is over 280 million |
truncate | public static Date truncate(Date date, int field)(Code) | | Truncate this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if you passed with HOUR, it would return 28 Mar
2002 13:00:00.000. If this was passed with MONTH, it would
return 1 Mar 2002 0:00:00.000.
Parameters: date - the date to work with Parameters: field - the field from Calendar or SEMI_MONTH the rounded date throws: IllegalArgumentException - if the date is null throws: ArithmeticException - if the year is over 280 million |
truncate | public static Calendar truncate(Calendar date, int field)(Code) | | Truncate this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if you passed with HOUR, it would return 28 Mar
2002 13:00:00.000. If this was passed with MONTH, it would
return 1 Mar 2002 0:00:00.000.
Parameters: date - the date to work with Parameters: field - the field from Calendar or SEMI_MONTH the rounded date (a different object) throws: IllegalArgumentException - if the date is null throws: ArithmeticException - if the year is over 280 million |
truncate | public static Date truncate(Object date, int field)(Code) | | Truncate this date, leaving the field specified as the most
significant field.
For example, if you had the datetime of 28 Mar 2002
13:45:01.231, if you passed with HOUR, it would return 28 Mar
2002 13:00:00.000. If this was passed with MONTH, it would
return 1 Mar 2002 0:00:00.000.
Parameters: date - the date to work with, either Date or Calendar Parameters: field - the field from Calendar or SEMI_MONTH the rounded date throws: IllegalArgumentException - if the dateis null throws: ClassCastException - if the object type is not aDate or Calendar throws: ArithmeticException - if the year is over 280 million |
|
|