Class DateUtils
A suite of utilities surrounding the use of the
Calendar and Date object.
DateUtils contains a lot of common methods considering manipulations of Dates or Calendars. Some methods require some extra explanation. The truncate, ceiling and round methods could be considered the Math.floor(), Math.ceil() or Math.round versions for dates This way date-fields will be ignored in bottom-up order. As a complement to these methods we've introduced some fragment-methods. With these methods the Date-fields will be ignored in top-down order. Since a date without a year is not a valid date, you have to decide in what kind of date-field you want your result, for instance milliseconds or days.
- Since:
- 2.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDeprecated.Use MILLIS_PER_DAY.static final intDeprecated.Use MILLIS_PER_HOUR.static final intDeprecated.Use MILLIS_PER_MINUTE.static final intDeprecated.Use MILLIS_PER_SECOND.static final longDeprecated.Number of milliseconds in a standard day.static final longDeprecated.Number of milliseconds in a standard hour.static final longDeprecated.Number of milliseconds in a standard minute.static final longDeprecated.Number of milliseconds in a standard second.static final intDeprecated.A month range, the week starting on Monday.static final intDeprecated.A month range, the week starting on Sunday.static final intDeprecated.A week range, centered around the day focused.static final intDeprecated.A week range, starting on Monday.static final intDeprecated.A week range, starting on the day focused.static final intDeprecated.A week range, starting on Sunday.static final intDeprecated.This is half a month, so this represents whether a date is in the top or bottom half of the month.static final TimeZoneDeprecated.The UTC time zone (often referred to as GMT). -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.DateUtilsinstances should NOT be constructed in standard programming. -
Method Summary
Modifier and TypeMethodDescriptionstatic DateDeprecated.Will become privately scoped in 3.0static DateDeprecated.Adds a number of days to a date returning a new object.static DateDeprecated.Adds a number of hours to a date returning a new object.static DateaddMilliseconds(Date date, int amount) Deprecated.Adds a number of milliseconds to a date returning a new object.static DateaddMinutes(Date date, int amount) Deprecated.Adds a number of minutes to a date returning a new object.static DateDeprecated.Adds a number of months to a date returning a new object.static DateaddSeconds(Date date, int amount) Deprecated.Adds a number of seconds to a date returning a new object.static DateDeprecated.Adds a number of weeks to a date returning a new object.static DateDeprecated.Adds a number of years to a date returning a new object.static DateDeprecated.Ceil this date, leaving the field specified as the most significant field.static CalendarDeprecated.Ceil this date, leaving the field specified as the most significant field.static DateDeprecated.Ceil this date, leaving the field specified as the most significant field.static longgetFragmentInDays(Calendar calendar, int fragment) Deprecated.Returns the number of days within the fragment.static longgetFragmentInDays(Date date, int fragment) Deprecated.Returns the number of days within the fragment.static longgetFragmentInHours(Calendar calendar, int fragment) Deprecated.Returns the number of hours within the fragment.static longgetFragmentInHours(Date date, int fragment) Deprecated.Returns the number of hours within the fragment.static longgetFragmentInMilliseconds(Calendar calendar, int fragment) Deprecated.Returns the number of milliseconds within the fragment.static longgetFragmentInMilliseconds(Date date, int fragment) Deprecated.Returns the number of milliseconds within the fragment.static longgetFragmentInMinutes(Calendar calendar, int fragment) Deprecated.Returns the number of minutes within the fragment.static longgetFragmentInMinutes(Date date, int fragment) Deprecated.Returns the number of minutes within the fragment.static longgetFragmentInSeconds(Calendar calendar, int fragment) Deprecated.Returns the number of seconds within the fragment.static longgetFragmentInSeconds(Date date, int fragment) Deprecated.Returns the number of seconds within the fragment.static booleanDeprecated.Checks if two calendar objects are on the same day ignoring time.static booleanDeprecated.Checks if two date objects are on the same day ignoring time.static booleanisSameInstant(Calendar cal1, Calendar cal2) Deprecated.Checks if two calendar objects represent the same instant in time.static booleanisSameInstant(Date date1, Date date2) Deprecated.Checks if two date objects represent the same instant in time.static booleanisSameLocalTime(Calendar cal1, Calendar cal2) Deprecated.Checks if two calendar objects represent the same local time.static IteratorDeprecated.This constructs anIteratorover each day in a date range defined by a focus date and range style.static IteratorDeprecated.This constructs anIteratorover each day in a date range defined by a focus date and range style.static IteratorDeprecated.This constructs anIteratorover each day in a date range defined by a focus date and range style.static DateDeprecated.Parses a string representing a date by trying a variety of different parsers.static DateparseDateStrictly(String str, String[] parsePatterns) Deprecated.Parses a string representing a date by trying a variety of different parsers.static DateDeprecated.Round this date, leaving the field specified as the most significant field.static CalendarDeprecated.Round this date, leaving the field specified as the most significant field.static DateDeprecated.Round this date, leaving the field specified as the most significant field.static DateDeprecated.Sets the day of month field to a date returning a new object.static DateDeprecated.Sets the hours field to a date returning a new object.static DatesetMilliseconds(Date date, int amount) Deprecated.Sets the miliseconds field to a date returning a new object.static DatesetMinutes(Date date, int amount) Deprecated.Sets the minute field to a date returning a new object.static DateDeprecated.Sets the months field to a date returning a new object.static DatesetSeconds(Date date, int amount) Deprecated.Sets the seconds field to a date returning a new object.static DateDeprecated.Sets the years field to a date returning a new object.static CalendartoCalendar(Date date) Deprecated.Convert a Date into a Calendar object.static DateDeprecated.Truncate this date, leaving the field specified as the most significant field.static CalendarDeprecated.Truncate this date, leaving the field specified as the most significant field.static DateDeprecated.Truncate this date, leaving the field specified as the most significant field.static inttruncatedCompareTo(Calendar cal1, Calendar cal2, int field) Deprecated.Determines how two calendars compare up to no more than the specified most significant field.static inttruncatedCompareTo(Date date1, Date date2, int field) Deprecated.Determines how two dates compare up to no more than the specified most significant field.static booleantruncatedEquals(Calendar cal1, Calendar cal2, int field) Deprecated.Determines if two calendars are equal up to no more than the specified most significant field.static booleantruncatedEquals(Date date1, Date date2, int field) Deprecated.Determines if two dates are equal up to no more than the specified most significant field.
-
Field Details
-
UTC_TIME_ZONE
Deprecated.The UTC time zone (often referred to as GMT). -
MILLIS_PER_SECOND
public static final long MILLIS_PER_SECONDDeprecated.Number of milliseconds in a standard second.- Since:
- 2.1
- See Also:
-
MILLIS_PER_MINUTE
public static final long MILLIS_PER_MINUTEDeprecated.Number of milliseconds in a standard minute.- Since:
- 2.1
- See Also:
-
MILLIS_PER_HOUR
public static final long MILLIS_PER_HOURDeprecated.Number of milliseconds in a standard hour.- Since:
- 2.1
- See Also:
-
MILLIS_PER_DAY
public static final long MILLIS_PER_DAYDeprecated.Number of milliseconds in a standard day.- Since:
- 2.1
- See Also:
-
SEMI_MONTH
public static final int SEMI_MONTHDeprecated.This is half a month, so this represents whether a date is in the top or bottom half of the month.- See Also:
-
RANGE_WEEK_SUNDAY
public static final int RANGE_WEEK_SUNDAYDeprecated.A week range, starting on Sunday.- See Also:
-
RANGE_WEEK_MONDAY
public static final int RANGE_WEEK_MONDAYDeprecated.A week range, starting on Monday.- See Also:
-
RANGE_WEEK_RELATIVE
public static final int RANGE_WEEK_RELATIVEDeprecated.A week range, starting on the day focused.- See Also:
-
RANGE_WEEK_CENTER
public static final int RANGE_WEEK_CENTERDeprecated.A week range, centered around the day focused.- See Also:
-
RANGE_MONTH_SUNDAY
public static final int RANGE_MONTH_SUNDAYDeprecated.A month range, the week starting on Sunday.- See Also:
-
RANGE_MONTH_MONDAY
public static final int RANGE_MONTH_MONDAYDeprecated.A month range, the week starting on Monday.- See Also:
-
MILLIS_IN_SECOND
public static final int MILLIS_IN_SECONDDeprecated.Use MILLIS_PER_SECOND. This will be removed in Commons Lang 3.0.Number of milliseconds in a standard second.- See Also:
-
MILLIS_IN_MINUTE
public static final int MILLIS_IN_MINUTEDeprecated.Use MILLIS_PER_MINUTE. This will be removed in Commons Lang 3.0.Number of milliseconds in a standard minute.- See Also:
-
MILLIS_IN_HOUR
public static final int MILLIS_IN_HOURDeprecated.Use MILLIS_PER_HOUR. This will be removed in Commons Lang 3.0.Number of milliseconds in a standard hour.- See Also:
-
MILLIS_IN_DAY
public static final int MILLIS_IN_DAYDeprecated.Use MILLIS_PER_DAY. This will be removed in Commons Lang 3.0.Number of milliseconds in a standard day.- See Also:
-
-
Constructor Details
-
DateUtils
public DateUtils()Deprecated.DateUtilsinstances should NOT be constructed in standard programming. Instead, the class should be used asDateUtils.parse(str);.This constructor is public to permit tools that require a JavaBean instance to operate.
-
-
Method Details
-
isSameDay
Deprecated.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 nulldate2- the second date, not altered, not null- Returns:
- true if they represent the same day
- Throws:
IllegalArgumentException- if either date isnull- Since:
- 2.1
-
isSameDay
Deprecated.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 nullcal2- the second calendar, not altered, not null- Returns:
- true if they represent the same day
- Throws:
IllegalArgumentException- if either calendar isnull- Since:
- 2.1
-
isSameInstant
Deprecated.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 nulldate2- the second date, not altered, not null- Returns:
- true if they represent the same millisecond instant
- Throws:
IllegalArgumentException- if either date isnull- Since:
- 2.1
-
isSameInstant
Deprecated.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 nullcal2- the second calendar, not altered, not null- Returns:
- true if they represent the same millisecond instant
- Throws:
IllegalArgumentException- if either date isnull- Since:
- 2.1
-
isSameLocalTime
Deprecated.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 nullcal2- the second calendar, not altered, not null- Returns:
- true if they represent the same millisecond instant
- Throws:
IllegalArgumentException- if either date isnull- Since:
- 2.1
-
parseDate
Deprecated.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 successful if it parses the whole of the input string. If no parse patterns match, a ParseException is thrown.
The parser will be lenient toward the parsed date.- Parameters:
str- the date to parse, not nullparsePatterns- the date format patterns to use, see SimpleDateFormat, not null- Returns:
- the parsed date
- Throws:
IllegalArgumentException- if the date string or pattern array is nullParseException- if none of the date patterns were suitable (or there were none)
-
parseDateStrictly
Deprecated.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 successful if it parses the whole of the input string. If no parse patterns match, a ParseException is thrown.
The parser parses strictly - it does not allow for dates such as "February 942, 1996".- Parameters:
str- the date to parse, not nullparsePatterns- the date format patterns to use, see SimpleDateFormat, not null- Returns:
- the parsed date
- Throws:
IllegalArgumentException- if the date string or pattern array is nullParseException- if none of the date patterns were suitable- Since:
- 2.5
-
addYears
Deprecated.Adds a number of years to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addMonths
Deprecated.Adds a number of months to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addWeeks
Deprecated.Adds a number of weeks to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addDays
Deprecated.Adds a number of days to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addHours
Deprecated.Adds a number of hours to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addMinutes
Deprecated.Adds a number of minutes to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addSeconds
Deprecated.Adds a number of seconds to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
addMilliseconds
Deprecated.Adds a number of milliseconds to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
add
Deprecated.Will become privately scoped in 3.0Adds to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullcalendarField- the calendar field to add toamount- the amount to add, may be negative- Returns:
- the new date object with the amount added
- Throws:
IllegalArgumentException- if the date is null
-
setYears
Deprecated.Sets the years field to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
setMonths
Deprecated.Sets the months field to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
setDays
Deprecated.Sets the day of month field to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
setHours
Deprecated.Sets the hours field to a date returning a new object. Hours range from 0-23. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
setMinutes
Deprecated.Sets the minute field to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
setSeconds
Deprecated.Sets the seconds field to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
setMilliseconds
Deprecated.Sets the miliseconds field to a date returning a new object. The original date object is unchanged.- Parameters:
date- the date, not nullamount- the amount to set- Returns:
- a new Date object set with the specified value
- Throws:
IllegalArgumentException- if the date is null- Since:
- 2.4
-
toCalendar
Deprecated.Convert a Date into a Calendar object.- Parameters:
date- the date to convert to a Calendar- Returns:
- the created Calendar
- Throws:
NullPointerException- if null is passed in- Since:
- 2.6
-
round
Deprecated.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 withfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date
- Throws:
IllegalArgumentException- if the date isnullArithmeticException- if the year is over 280 million
-
round
Deprecated.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 withfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date (a different object)
- Throws:
IllegalArgumentException- if the date isnullArithmeticException- if the year is over 280 million
-
round
Deprecated.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 Calendarfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date
- Throws:
IllegalArgumentException- if the date isnullClassCastException- if the object type is not aDateorCalendarArithmeticException- if the year is over 280 million
-
truncate
Deprecated.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 withfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date
- Throws:
IllegalArgumentException- if the date isnullArithmeticException- if the year is over 280 million
-
truncate
Deprecated.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 withfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date (a different object)
- Throws:
IllegalArgumentException- if the date isnullArithmeticException- if the year is over 280 million
-
truncate
Deprecated.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, eitherDateorCalendarfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date
- Throws:
IllegalArgumentException- if the date isnullClassCastException- if the object type is not aDateorCalendarArithmeticException- if the year is over 280 million
-
ceiling
Deprecated.Ceil 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 withfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date
- Throws:
IllegalArgumentException- if the date isnullArithmeticException- if the year is over 280 million- Since:
- 2.5
-
ceiling
Deprecated.Ceil 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 withfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date (a different object)
- Throws:
IllegalArgumentException- if the date isnullArithmeticException- if the year is over 280 million- Since:
- 2.5
-
ceiling
Deprecated.Ceil 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, eitherDateorCalendarfield- the field fromCalendarorSEMI_MONTH- Returns:
- the rounded date
- Throws:
IllegalArgumentException- if the date isnullClassCastException- if the object type is not aDateorCalendarArithmeticException- if the year is over 280 million- Since:
- 2.5
-
iterator
Deprecated.This constructs an
Iteratorover 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_SUNDAYwill return anIteratorthat 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(int, int).- Parameters:
focus- the date to work with, not nullrangeStyle- the style constant to use. Must be one ofRANGE_MONTH_SUNDAY,RANGE_MONTH_MONDAY,RANGE_WEEK_SUNDAY,RANGE_WEEK_MONDAY,RANGE_WEEK_RELATIVE,RANGE_WEEK_CENTER- Returns:
- the date iterator, which always returns Calendar instances
- Throws:
IllegalArgumentException- if the date isnullIllegalArgumentException- if the rangeStyle is invalid
-
iterator
Deprecated.This constructs an
Iteratorover 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_SUNDAYwill return anIteratorthat 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(int, int).- Parameters:
focus- the date to work withrangeStyle- the style constant to use. Must be one ofRANGE_MONTH_SUNDAY,RANGE_MONTH_MONDAY,RANGE_WEEK_SUNDAY,RANGE_WEEK_MONDAY,RANGE_WEEK_RELATIVE,RANGE_WEEK_CENTER- Returns:
- the date iterator
- Throws:
IllegalArgumentException- if the date isnullIllegalArgumentException- if the rangeStyle is invalid
-
iterator
Deprecated.This constructs an
Iteratorover 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_SUNDAYwill return anIteratorthat 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, eitherDateorCalendarrangeStyle- the style constant to use. Must be one of the range styles listed for theiterator(Calendar, int)method.- Returns:
- the date iterator
- Throws:
IllegalArgumentException- if the date isnullClassCastException- if the object type is not aDateorCalendar
-
getFragmentInMilliseconds
Deprecated.Returns the number of milliseconds within the fragment. All datefields greater than the fragment will be ignored.
Asking the milliseconds of any date will only return the number of milliseconds of the current second (resulting in a number between 0 and 999). This method will retrieve the number of milliseconds for any fragment. For example, if you want to calculate the number of milliseconds past today, your fragment is Calendar.DATE or Calendar.DAY_OF_YEAR. The result will be all milliseconds of the past hour(s), minutes(s) and second(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a SECOND field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538
- January 6, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538
- January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10538 (10*1000 + 538)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in milliseconds)
- Parameters:
date- the date to work with, not nullfragment- the Calendar field part of date to calculate- Returns:
- number of milliseconds within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInSeconds
Deprecated.Returns the number of seconds within the fragment. All datefields greater than the fragment will be ignored.
Asking the seconds of any date will only return the number of seconds of the current minute (resulting in a number between 0 and 59). This method will retrieve the number of seconds for any fragment. For example, if you want to calculate the number of seconds past today, your fragment is Calendar.DATE or Calendar.DAY_OF_YEAR. The result will be all seconds of the past hour(s) and minutes(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a SECOND field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10 (equivalent to deprecated date.getSeconds())
- January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10 (equivalent to deprecated date.getSeconds())
- January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 26110 (7*3600 + 15*60 + 10)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in seconds)
- Parameters:
date- the date to work with, not nullfragment- the Calendar field part of date to calculate- Returns:
- number of seconds within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInMinutes
Deprecated.Returns the number of minutes within the fragment. All datefields greater than the fragment will be ignored.
Asking the minutes of any date will only return the number of minutes of the current hour (resulting in a number between 0 and 59). This method will retrieve the number of minutes for any fragment. For example, if you want to calculate the number of minutes past this month, your fragment is Calendar.MONTH. The result will be all minutes of the past day(s) and hour(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a MINUTE field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15 (equivalent to deprecated date.getMinutes())
- January 6, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15 (equivalent to deprecated date.getMinutes())
- January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 15
- January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 435 (7*60 + 15)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in minutes)
- Parameters:
date- the date to work with, not nullfragment- the Calendar field part of date to calculate- Returns:
- number of minutes within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInHours
Deprecated.Returns the number of hours within the fragment. All datefields greater than the fragment will be ignored.
Asking the hours of any date will only return the number of hours of the current day (resulting in a number between 0 and 23). This method will retrieve the number of hours for any fragment. For example, if you want to calculate the number of hours past this month, your fragment is Calendar.MONTH. The result will be all hours of the past day(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a HOUR field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7 (equivalent to deprecated date.getHours())
- January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7 (equivalent to deprecated date.getHours())
- January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 7
- January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 127 (5*24 + 7)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in hours)
- Parameters:
date- the date to work with, not nullfragment- the Calendar field part of date to calculate- Returns:
- number of hours within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInDays
Deprecated.Returns the number of days within the fragment. All datefields greater than the fragment will be ignored.
Asking the days of any date will only return the number of days of the current month (resulting in a number between 1 and 31). This method will retrieve the number of days for any fragment. For example, if you want to calculate the number of days past this year, your fragment is Calendar.YEAR. The result will be all days of the past month(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a DAY field will return 0.
- January 28, 2008 with Calendar.MONTH as fragment will return 28 (equivalent to deprecated date.getDay())
- February 28, 2008 with Calendar.MONTH as fragment will return 28 (equivalent to deprecated date.getDay())
- January 28, 2008 with Calendar.YEAR as fragment will return 28
- February 28, 2008 with Calendar.YEAR as fragment will return 59
- January 28, 2008 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in days)
- Parameters:
date- the date to work with, not nullfragment- the Calendar field part of date to calculate- Returns:
- number of days within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInMilliseconds
Deprecated.Returns the number of milliseconds within the fragment. All datefields greater than the fragment will be ignored.
Asking the milliseconds of any date will only return the number of milliseconds of the current second (resulting in a number between 0 and 999). This method will retrieve the number of milliseconds for any fragment. For example, if you want to calculate the number of seconds past today, your fragment is Calendar.DATE or Calendar.DAY_OF_YEAR. The result will be all seconds of the past hour(s), minutes(s) and second(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a MILLISECOND field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538 (equivalent to calendar.get(Calendar.MILLISECOND))
- January 6, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538 (equivalent to calendar.get(Calendar.MILLISECOND))
- January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10538 (10*1000 + 538)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in milliseconds)
- Parameters:
calendar- the calendar to work with, not nullfragment- the Calendar field part of calendar to calculate- Returns:
- number of milliseconds within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInSeconds
Deprecated.Returns the number of seconds within the fragment. All datefields greater than the fragment will be ignored.
Asking the seconds of any date will only return the number of seconds of the current minute (resulting in a number between 0 and 59). This method will retrieve the number of seconds for any fragment. For example, if you want to calculate the number of seconds past today, your fragment is Calendar.DATE or Calendar.DAY_OF_YEAR. The result will be all seconds of the past hour(s) and minutes(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a SECOND field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10 (equivalent to calendar.get(Calendar.SECOND))
- January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10 (equivalent to calendar.get(Calendar.SECOND))
- January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 26110 (7*3600 + 15*60 + 10)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in seconds)
- Parameters:
calendar- the calendar to work with, not nullfragment- the Calendar field part of calendar to calculate- Returns:
- number of seconds within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInMinutes
Deprecated.Returns the number of minutes within the fragment. All datefields greater than the fragment will be ignored.
Asking the minutes of any date will only return the number of minutes of the current hour (resulting in a number between 0 and 59). This method will retrieve the number of minutes for any fragment. For example, if you want to calculate the number of minutes past this month, your fragment is Calendar.MONTH. The result will be all minutes of the past day(s) and hour(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a MINUTE field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15 (equivalent to calendar.get(Calendar.MINUTES))
- January 6, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15 (equivalent to calendar.get(Calendar.MINUTES))
- January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 15
- January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 435 (7*60 + 15)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in minutes)
- Parameters:
calendar- the calendar to work with, not nullfragment- the Calendar field part of calendar to calculate- Returns:
- number of minutes within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInHours
Deprecated.Returns the number of hours within the fragment. All datefields greater than the fragment will be ignored.
Asking the hours of any date will only return the number of hours of the current day (resulting in a number between 0 and 23). This method will retrieve the number of hours for any fragment. For example, if you want to calculate the number of hours past this month, your fragment is Calendar.MONTH. The result will be all hours of the past day(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a HOUR field will return 0.
- January 1, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7 (equivalent to calendar.get(Calendar.HOUR_OF_DAY))
- January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7 (equivalent to calendar.get(Calendar.HOUR_OF_DAY))
- January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 7
- January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 127 (5*24 + 7)
- January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in hours)
- Parameters:
calendar- the calendar to work with, not nullfragment- the Calendar field part of calendar to calculate- Returns:
- number of hours within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
getFragmentInDays
Deprecated.Returns the number of days within the fragment. All datefields greater than the fragment will be ignored.
Asking the days of any date will only return the number of days of the current month (resulting in a number between 1 and 31). This method will retrieve the number of days for any fragment. For example, if you want to calculate the number of days past this year, your fragment is Calendar.YEAR. The result will be all days of the past month(s).
Valid fragments are: Calendar.YEAR, Calendar.MONTH, both Calendar.DAY_OF_YEAR and Calendar.DATE, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND and Calendar.MILLISECOND A fragment less than or equal to a DAY field will return 0.
- January 28, 2008 with Calendar.MONTH as fragment will return 28 (equivalent to calendar.get(Calendar.DAY_OF_MONTH))
- February 28, 2008 with Calendar.MONTH as fragment will return 28 (equivalent to calendar.get(Calendar.DAY_OF_MONTH))
- January 28, 2008 with Calendar.YEAR as fragment will return 28 (equivalent to calendar.get(Calendar.DAY_OF_YEAR))
- February 28, 2008 with Calendar.YEAR as fragment will return 59 (equivalent to calendar.get(Calendar.DAY_OF_YEAR))
- January 28, 2008 with Calendar.MILLISECOND as fragment will return 0 (a millisecond cannot be split in days)
- Parameters:
calendar- the calendar to work with, not nullfragment- the Calendar field part of calendar to calculate- Returns:
- number of days within the fragment of date
- Throws:
IllegalArgumentException- if the date isnullor fragment is not supported- Since:
- 2.4
-
truncatedEquals
Deprecated.Determines if two calendars are equal up to no more than the specified most significant field.- Parameters:
cal1- the first calendar, notnullcal2- the second calendar, notnullfield- the field fromCalendar- Returns:
trueif equal; otherwisefalse- Throws:
IllegalArgumentException- if any argument isnull- Since:
- 2.6
- See Also:
-
truncatedEquals
Deprecated.Determines if two dates are equal up to no more than the specified most significant field.- Parameters:
date1- the first date, notnulldate2- the second date, notnullfield- the field fromCalendar- Returns:
trueif equal; otherwisefalse- Throws:
IllegalArgumentException- if any argument isnull- Since:
- 2.6
- See Also:
-
truncatedCompareTo
Deprecated.Determines how two calendars compare up to no more than the specified most significant field.- Parameters:
cal1- the first calendar, notnullcal2- the second calendar, notnullfield- the field fromCalendar- Returns:
- a negative integer, zero, or a positive integer as the first calendar is less than, equal to, or greater than the second.
- Throws:
IllegalArgumentException- if any argument isnull- Since:
- 2.6
- See Also:
-
truncatedCompareTo
Deprecated.Determines how two dates compare up to no more than the specified most significant field.- Parameters:
date1- the first date, notnulldate2- the second date, notnullfield- the field fromCalendar- Returns:
- a negative integer, zero, or a positive integer as the first date is less than, equal to, or greater than the second.
- Throws:
IllegalArgumentException- if any argument isnull- Since:
- 2.6
- See Also:
-