import groovy.time.TimeCategory
// criamos uma data de nascimento
def d = new Date()
d.set(year: 1987, date: 28, month: 5)
// calculamos a idade da pessoa
def age
use(TimeCategory) {
    age = new Date() - d
}
age = age.days / 365
// iteramos e utilizamos a data de aniversário para alguma coisa
0.upto(age) {
    use(TimeCategory) {
        println "No ano de ${d[1]}, seu aniversário foi no(a): ${MyFormatter.showDayOfWeek(d)}"
        d = d + 1.years
    }
}
// formatador para ajudar a mostrar o dia da semana do aniversário
class MyFormatter {
    private static String format = "EEEEEE"
    static String showDayOfWeek(date) {
        return date.format(format)
    }
}
 O snippet de código utiliza a classe groovy.time.TimeCategory.