Class DateUtilExtensions
- 
Method SummaryModifier and TypeMethodDescriptionstatic DateClears the time portion of this java.sql.Date instance; useful utility where it makes sense to compare month/day/year only portions of a Date.static CalendarClears the time portion of this Calendar instance; useful utility where it makes sense to compare month/day/year only portions of a Calendar.static DateClears the time portion of this Date instance; useful utility where it makes sense to compare month/day/year only portions of a Date.static CalendarSupport creating a new Date having similar properties to an existing Date (which remains unaltered) but with some fields updated according to a Map of changes.static DateSupport creating a new Date having similar properties to an existing Date (which remains unaltered) but with some fields updated according to a Map of changes.static voidIterates from the date represented by this calendar up to the date represented by the given calendar, inclusive, incrementing by one day each time.static voidIterates from this date down to the given date, inclusive, decrementing by one day each time.static StringShortcut forSimpleDateFormatto output a String representation of this calendar instance.static StringCreate a String representation of this date according to the given format pattern.static StringCreate a String representation of this date according to the given format pattern and timezone.static intSupport the subscript operator for a Calendar.getAt(Calendar self, Collection fields) Support the subscript operator for a Calendar with a collection of indices.static intSupport the subscript operator for a Date.getAt(Date self, Collection fields) Support the subscript operator for a Date with a collection of indices.static StringgetDateString(Date self) Return a string representation of the 'day' portion of this date according to the locale-specificDateFormat.SHORTdefault format.static StringgetDateTimeString(Date self) Return a string representation of the date and time portion of this Date instance, according to the locale-specific format used byDateFormat.static StringgetTimeString(Date self) Return a string representation of the time portion of this date according to the locale-specificDateFormat.MEDIUMdefault format.static DateSubtract a number of days from this date and returns the new date.static TimestampSubtract a number of days from this Timestamp and returns the new Timestamp object.static intSubtract another date from this one and return the number of days of the difference.static DateSubtract a number of days from this date and returns the new date.static intSubtract another Date from this one and return the number of days of the difference.static DateIncrement a java.sql.Date by one day.static CalendarIncrement a Calendar by one day.static DateIncrement a Date by one day.static DateAdd a number of days to this date and returns the new date.static TimestampAdd number of days to this Timestamp and returns the new Timestamp object.static DateAdd a number of days to this date and returns the new date.static DateDecrement a java.sql.Date by one day.static CalendarDecrement a Calendar by one day.static DateDecrement a Date by one day.static voidSupport the subscript operator for mutating a Calendar.static voidSupport the subscript operator for mutating a Date.static voidSupport mutating a Calendar with a Map.static voidSupport mutating a Date with a Map.static CalendartoCalendar(Date self) Convert a Date to a Calendar.static CalendarLegacy alias for copyWith.static DateLegacy alias for copyWith.static voidIterates from the date represented by this calendar up to the date represented by the given calendar, inclusive, incrementing by one day each time.static voidIterates from this date up to the given date, inclusive, incrementing by one day each time.
- 
Method Details- 
getAtSupport the subscript operator for a Date.- Parameters:
- self- a Date
- field- a Calendar field, e.g. MONTH
- Returns:
- the value for the given field, e.g. FEBRUARY
- Since:
- 1.5.5
- See Also:
 
- 
getAtSupport the subscript operator for a Date with a collection of indices.- Parameters:
- self- a Date
- fields- a collection of Calendar fields, e.g. [YEAR, MONTH]
- Returns:
- the value for the given field, e.g. [2022, FEBRUARY]
- Since:
- 4.0.5
- See Also:
 
- 
toCalendarConvert a Date to a Calendar.- Parameters:
- self- a Date
- Returns:
- a Calendar corresponding to the given Date
- Since:
- 1.7.6
 
- 
getAtSupport the subscript operator for a Calendar.- Parameters:
- self- a Calendar
- field- a Calendar field, e.g. MONTH
- Returns:
- the value for the given field, e.g. FEBRUARY
- Since:
- 1.7.3
- See Also:
 
- 
getAtSupport the subscript operator for a Calendar with a collection of indices.- Parameters:
- self- a Calendar
- fields- a collection of Calendar fields, e.g. [YEAR, MONTH]
- Returns:
- the value for the given field, e.g. [2022, FEBRUARY]
- Since:
- 4.0.5
- See Also:
 
- 
putAtSupport the subscript operator for mutating a Calendar. Example usage:import static java.util.Calendar.* def cal = Calendar.instance cal[DAY_OF_WEEK] = MONDAY cal[MONTH] = MARCH println cal.time // A Monday in March - Parameters:
- self- A Calendar
- field- A Calendar field, e.g. MONTH
- value- The value for the given field, e.g. FEBRUARY
- Since:
- 1.7.3
- See Also:
 
- 
putAtSupport the subscript operator for mutating a Date.- Parameters:
- self- A Date
- field- A Calendar field, e.g. MONTH
- value- The value for the given field, e.g. FEBRUARY
- Since:
- 1.7.3
- See Also:
 
- 
setSupport mutating a Calendar with a Map.The map values are the normal values provided as the second parameter to java.util.Calendar#set(int, int). The keys can either be the normal fields values provided as the first parameter to that method or one of the following Strings:
 Example usage:Calendar index values year Calendar.YEAR month Calendar.MONTH date Calendar.DATE dayOfMonth Calendar.DATE hourOfDay Calendar.HOUR_OF_DAY minute Calendar.MINUTE second Calendar.SECOND import static java.util.Calendar.* def cal = Calendar.instance def m = [:] m[YEAR] = 2010 m[MONTH] = DECEMBER m[DATE] = 25 cal.set(m) println cal.time // Christmas 2010 cal.set(year:2011, month:DECEMBER, date:25) println cal.time // Christmas 2010 - Parameters:
- self- A Calendar
- updates- A Map of Calendar keys and values
- Since:
- 1.7.3
- See Also:
 
- 
updatedLegacy alias for copyWith. Will be deprecated and removed in future versions of Groovy.- Since:
- 1.7.3
- See Also:
 
- 
copyWithSupport creating a new Date having similar properties to an existing Date (which remains unaltered) but with some fields updated according to a Map of changes.Example usage: import static java.util.Calendar.YEAR def now = Calendar.instance def nextYear = now[YEAR] + 1 def oneYearFromNow = now.copyWith(year: nextYear) println now.time println oneYearFromNow.time - Parameters:
- self- A Calendar
- updates- A Map of Calendar keys and values
- Returns:
- The newly created Calendar
- Since:
- 2.2.0
- See Also:
 
- 
setSupport mutating a Date with a Map.The map values are the normal values provided as the second parameter to java.util.Calendar#set(int, int). The keys can either be the normal fields values provided as the first parameter to that method or one of the following Strings:
 Example usage:Calendar index values year Calendar.YEAR month Calendar.MONTH date Calendar.DATE dayOfMonth Calendar.DATE hourOfDay Calendar.HOUR_OF_DAY minute Calendar.MINUTE second Calendar.SECOND import static java.util.Calendar.YEAR def date = new Date() def nextYear = date[YEAR] + 1 date.set(year: nextYear) println date - Parameters:
- self- A Date
- updates- A Map of Calendar keys and values
- Since:
- 1.7.3
- See Also:
 
- 
updatedLegacy alias for copyWith. Will be deprecated and removed in future versions of Groovy.- Since:
- 1.7.3
- See Also:
 
- 
copyWithSupport creating a new Date having similar properties to an existing Date (which remains unaltered) but with some fields updated according to a Map of changes.Example usage: import static java.util.Calendar.YEAR def today = new Date() def nextYear = today[YEAR] + 1 def oneYearFromNow = today.copyWith(year: nextYear) println today println oneYearFromNow - Parameters:
- self- A Date
- updates- A Map of Calendar keys and values
- Returns:
- The newly created Date
- Since:
- 2.2.0
- See Also:
 
- 
nextIncrement a Date by one day.- Parameters:
- self- a Date
- Returns:
- the next days date
- Since:
- 1.0
 
- 
nextIncrement a Calendar by one day.- Parameters:
- self- a Calendar
- Returns:
- a new Calendar set to the next day
- Since:
- 1.8.7
 
- 
previousDecrement a Calendar by one day.- Parameters:
- self- a Calendar
- Returns:
- a new Calendar set to the previous day
- Since:
- 1.8.7
 
- 
nextIncrement a java.sql.Date by one day.- Parameters:
- self- a java.sql.Date
- Returns:
- the next days date
- Since:
- 1.0
 
- 
previousDecrement a Date by one day.- Parameters:
- self- a Date
- Returns:
- the previous days date
- Since:
- 1.0
 
- 
previousDecrement a java.sql.Date by one day.- Parameters:
- self- a java.sql.Date
- Returns:
- the previous days date
- Since:
- 1.0
 
- 
plusAdd a number of days to this date and returns the new date.- Parameters:
- self- a Date
- days- the number of days to increase
- Returns:
- the new date
- Since:
- 1.0
 
- 
plusAdd a number of days to this date and returns the new date.- Parameters:
- self- a java.sql.Date
- days- the number of days to increase
- Returns:
- the new date
- Since:
- 1.0
 
- 
plusAdd number of days to this Timestamp and returns the new Timestamp object.- Parameters:
- self- a Timestamp
- days- the number of days to increase
- Returns:
- the new Timestamp
 
- 
minusSubtract a number of days from this date and returns the new date.- Parameters:
- self- a Date
- days- the number of days to subtract
- Returns:
- the new date
- Since:
- 1.0
 
- 
minusSubtract a number of days from this date and returns the new date.- Parameters:
- self- a java.sql.Date
- days- the number of days to subtract
- Returns:
- the new date
- Since:
- 1.0
 
- 
minusSubtract a number of days from this Timestamp and returns the new Timestamp object.- Parameters:
- self- a Timestamp
- days- the number of days to subtract
- Returns:
- the new Timestamp
 
- 
minusSubtract another date from this one and return the number of days of the difference.Date self = Date then + (Date self - Date then) IOW, if self is before then the result is a negative value. - Parameters:
- self- a Calendar
- then- another Calendar
- Returns:
- number of days
- Since:
- 1.6.0
 
- 
minusSubtract another Date from this one and return the number of days of the difference.Date self = Date then + (Date self - Date then) IOW, if self is before then the result is a negative value. - Parameters:
- self- a Date
- then- another Date
- Returns:
- number of days
- Since:
- 1.6.0
 
- 
formatCreate a String representation of this date according to the given format pattern. For example, if the system timezone is GMT, new Date(0).format('MM/dd/yy')would return the string"01/01/70". See documentation forSimpleDateFormatfor format pattern use.Note that a new DateFormat instance is created for every invocation of this method (for thread safety). - Parameters:
- self- a Date
- format- the format pattern to use according to- SimpleDateFormat
- Returns:
- a string representation of this date.
- Since:
- 1.5.7
- See Also:
 
- 
formatCreate a String representation of this date according to the given format pattern and timezone. For example: def d = new Date(0) def tz = TimeZone.getTimeZone('GMT') println d.format('dd/MMM/yyyy', tz)would return the string"01/Jan/1970". See documentation forSimpleDateFormatfor format pattern use.Note that a new DateFormat instance is created for every invocation of this method (for thread safety). - Parameters:
- self- a Date
- format- the format pattern to use according to- SimpleDateFormat
- tz- the TimeZone to use
- Returns:
- a string representation of this date.
- Since:
- 1.8.3
- See Also:
 
- 
getDateStringReturn a string representation of the 'day' portion of this date according to the locale-specific DateFormat.SHORTdefault format. For an "en_UK" system locale, this would bedd/MM/yy.Note that a new DateFormat instance is created for every invocation of this method (for thread safety). - Parameters:
- self- a Date
- Returns:
- a string representation of this date
- Since:
- 1.5.7
- See Also:
 
- 
getTimeStringReturn a string representation of the time portion of this date according to the locale-specific DateFormat.MEDIUMdefault format. For an "en_UK" system locale, this would beHH:MM:ss.Note that a new DateFormat instance is created for every invocation of this method (for thread safety). - Parameters:
- self- a Date
- Returns:
- a string representing the time portion of this date
- Since:
- 1.5.7
- See Also:
 
- 
getDateTimeStringReturn a string representation of the date and time portion of this Date instance, according to the locale-specific format used by DateFormat. This method uses theDateFormat.SHORTpreset for the day portion andDateFormat.MEDIUMfor the time portion of the output string.Note that a new DateFormat instance is created for every invocation of this method (for thread safety). - Parameters:
- self- a Date
- Returns:
- a string representation of this date and time
- Since:
- 1.5.7
- See Also:
 
- 
clearTimeClears the time portion of this Date instance; useful utility where it makes sense to compare month/day/year only portions of a Date.- Parameters:
- self- a Date
- Returns:
- the Date but with the time portion cleared
- Since:
- 1.6.7
 
- 
clearTimeClears the time portion of this java.sql.Date instance; useful utility where it makes sense to compare month/day/year only portions of a Date.- Parameters:
- self- a java.sql.Date
- Returns:
- the java.sql.Date but with the time portion cleared
- Since:
- 1.6.7
 
- 
clearTimeClears the time portion of this Calendar instance; useful utility where it makes sense to compare month/day/year only portions of a Calendar.- Parameters:
- self- a Calendar
- Returns:
- the Calendar but with the time portion cleared
- Since:
- 1.6.7
 
- 
formatShortcut for SimpleDateFormatto output a String representation of this calendar instance. This method respects the Calendar's assignedTimeZone, whereas callingcal.time.format('HH:mm:ss')would use the system timezone.Note that Calendar equivalents of date.getDateString()and variants do not exist because those methods are Locale-dependent. Although a Calendar may be assigned aLocale, that information is lost and therefore cannot be used to control the default date/time formats provided by these methods. Instead, the system Locale would always be used. The alternative is to simply callDateFormat.getDateInstance(int, java.util.Locale)and pass the same Locale that was used for the Calendar.- Parameters:
- self- this calendar
- pattern- format pattern
- Returns:
- String representation of this calendar with the given format.
- Since:
- 1.6.0
- See Also:
 
- 
uptoIterates from this date up to the given date, inclusive, incrementing by one day each time.- Parameters:
- self- a Date
- to- another Date to go up to
- closure- the closure to call
- Since:
- 2.2
 
- 
uptoIterates from the date represented by this calendar up to the date represented by the given calendar, inclusive, incrementing by one day each time.- Parameters:
- self- a Calendar
- to- another Calendar to go up to
- closure- the closure to call
- Since:
- 2.2
 
- 
downtoIterates from this date down to the given date, inclusive, decrementing by one day each time.- Parameters:
- self- a Date
- to- another Date to go down to
- closure- the closure to call
- Since:
- 2.2
 
- 
downtoIterates from the date represented by this calendar up to the date represented by the given calendar, inclusive, incrementing by one day each time.- Parameters:
- self- a Calendar
- to- another Calendar to go down to
- closure- the closure to call
- Since:
- 2.2
 
 
-