Вот полная, работающая версия, основанная на предложении doelleri:
use(groovy.time.TimeCategory) {
def today = new Date()
13.times { i ->
println( (today - i.months).format('MMMM (yyyy)') )
}
}
Изменения, которые я сделал:
- Я изменил цикл, чтобы печать могла происходить в том жеместо (вместо печати текущего месяца в другом месте).
- Я использовал метод
format
, чтобы отобразить дату точно так, как вы просили.Если вы хотите, чтобы выходные данные выстраивались лучше, попробуйте использовать 'MMM (yyyy)'
в качестве формата, который использует трехбуквенные месяцы.
Возможно, вы захотите получить их в виде списка, так что вы можетелучше использовать:
def months
use(groovy.time.TimeCategory) {
def today = new Date()
months = (0..13).collect { (today - it.months).format('MMMM (yyyy)') }
}
, который хранит данные месяца в массиве под названием months
.