Groovy JDK

java.util
Class Calendar

Method Summary
Calendar clearTime()
Clears the time portion of this Calendar instance; useful utility where it makes sense to compare month/day/year only portions of a Calendar.
String format(String pattern)

Shortcut for SimpleDateFormat to output a String representation of this calendar instance.

int getAt(int field)
Support the subscript operator for a Calendar.
int minus(Calendar then)
Subtract another date from this one and return the number of days of the difference.
void putAt(int field, int value)
Support the subscript operator for mutating a Calendar.
void set(Map updates)
Support mutating a Calendar with a Map.
Calendar updated(Map updates)
Support 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.
 
Method Detail

clearTime

public Calendar clearTime()
 
Clears the time portion of this Calendar instance; useful utility where it makes sense to compare month/day/year only portions of a Calendar.
Returns:
the Calendar but with the time portion cleared
Since:
1.6.7

format

public String format(String pattern)
 

Shortcut for SimpleDateFormat to output a String representation of this calendar instance. This method respects the Calendar's assigned TimeZone, whereas calling cal.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 a Locale, 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 call DateFormat#getDateInstance and pass the same Locale that was used for the Calendar.

Parameters:
pattern - format pattern.
Returns:
String representation of this calendar with the given format.
Since:
1.6.0
See:
DateFormat#setTimeZone.
SimpleDateFormat#format.
Date#format.

getAt

public int getAt(int field)
 
Support the subscript operator for a Calendar.
Parameters:
field - a Calendar field, e.g. MONTH.
Returns:
the value for the given field, e.g. FEBRUARY
Since:
1.7.3
See:
Calendar.

minus

public int minus(Calendar then)
 
Subtract 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:
then - another Calendar.
Returns:
number of days
Since:
1.6.0

putAt

public void putAt(int field, int value)
 
Support 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:
field - A Calendar field, e.g. MONTH.
value - The value for the given field, e.g. FEBRUARY.
Since:
1.7.3
See:
Calendar#set.

set

public void set(Map updates)
 
Support 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:

yearCalendar.YEAR
monthCalendar.MONTH
dateCalendar.DATE
hourOfDayCalendar.HOUR_OF_DAY
minuteCalendar.MINUTE
secondCalendar.SECOND
Example usage:
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:
updates - A Map of Calendar keys and values.
Since:
1.7.3
See:
Calendar#set.
Calendar#set.

updated

public Calendar updated(Map updates)
 
Support 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.updated(year: nextYear)
println now.time
println oneYearFromNow.time
Parameters:
updates - A Map of Calendar keys and values.
Returns:
The newly created Calendar
Since:
1.7.3
See:
Calendar#set.
Calendar#set.
Calendar#set.

Groovy JDK