如何构建2011年所有星期五的列表,并允许不同的日期输出,例如mm / dd / yyyy和yyyymmdd?
答案 0 :(得分:3)
替代ataylor的正确答案,你可以这样做:
import static java.util.Calendar.*
def s = Date.parse("MM/dd/yyyy", "01/01/2011")
def e = Date.parse("MM/dd/yyyy", "12/31/2011")
(s..e).findAll {
it[ DAY_OF_WEEK ] == FRIDAY
}.each {
println it.format("MM/dd/yyyy")
}
答案 1 :(得分:2)
我会选择这样的事情:
use (groovy.time.TimeCategory) {
def d = Date.parse("MM/dd/yyyy", "01/01/2011")
while (d[Calendar.DAY_OF_WEEK] != Calendar.FRIDAY) {
d = d + 1.day
}
while (d[Calendar.YEAR] == 2011) {
println d.format("MM/dd/yyyy")
d = d + 1.week
}
}
答案 2 :(得分:0)
ataylor的回答和Tim的回答都是正确且非常有用的 - 如果你想加速Groovy,请看评论。
我讨厌这些情况,我应该选择一个作为另一个的答案。他们都是正确的答案。 Stackoverflow不会改变他们的东西,所以我可以选择两者都是正确的,所以我只会指出两者都是正确的。