Groovy JDK

java.util
Class Calendar

Method Summary
void clearTime()
void 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)
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)
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 void clearTime()
 

clearTime

public void 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.
Since:
1.6.7

format

public String format(String pattern)
 
Parameters:

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)
 
Parameters:

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