如何构建2011年所有星期五的列表,并允许不同的日期输出,例如mm/dd/yyyy和yyyymmdd?
除了泰勒的正确答案,你还可以这样做:
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")
}
我会这样写:
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
}
}
taylor的回答和Tim的回答都是正确的,而且信息量很大——如果您想了解Groovy,请参阅评论。
我讨厌这种情况,我应该选择一个作为答案,而不是另一个。它们都是正确答案。Stackoverflow不会改变他们的东西,所以我可以选择两者都是正确的,所以我只会指出两者都是正确的。