groovy-dateutil模块支持使用 Java 的经典DateCalendar类的许多扩展。
    您可以使用类中的常量字段编号访问 DateCalendar使用普通数组索引表示法的属性,Calendar如以下示例所示:

    1. // 导入常量
    2. import static java.util.Calendar.*
    3. def cal = Calendar.instance
    4. // 设置日历的年月
    5. cal[YEAR] = 2000
    6. cal[MONTH] = JANUARY
    7. cal[DAY_OF_MONTH] = 1
    8. // 访问日历的星期几
    9. assert cal[DAY_OF_WEEK] == SATURDAY

    Groovy 支持实例之间的算术运算和迭代DateCalendar如以下示例所示:

    def utc = TimeZone.getTimeZone('UTC')
    Date date = Date.parse("yyyy-MM-dd HH:mm", "2010-05-23 09:01", utc)
    
    def prev = date - 1
    def next = date + 1
    
    def diffInDays = next - prev
    assert diffInDays == 2
    
    int count = 0
    prev.upto(next) { count++ }
    assert count == 3
    

    您可以将字符串解析为日期,并将日期输出为格式化字符串:

    def orig = '2000-01-01'
    def newYear = Date.parse('yyyy-MM-dd', orig)
    assert newYear[DAY_OF_WEEK] == SATURDAY
    assert newYear.format('yyyy-MM-dd') == orig
    assert newYear.format('dd/MM/yyyy') == '01/01/2000'
    

    您还可以根据现有日期或日历创建新的日期或日历:

    def newYear = Date.parse('yyyy-MM-dd', '2000-01-01')
    def newYearsEve = newYear.copyWith(
        year: 1999,
        month: DECEMBER,
        dayOfMonth: 31
    )
    assert newYearsEve[DAY_OF_WEEK] == FRIDAY