绝妙的日期:构建2011年所有星期五的列表



如何构建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不会改变他们的东西,所以我可以选择两者都是正确的,所以我只会指出两者都是正确的。

最新更新