groovy日期:建立2011年所有星期五的列表

时间:2011-11-14 21:28:21

标签: groovy

如何构建2011年所有星期五的列表,并允许不同的日期输出,例如mm / dd / yyyy和yyyymmdd?

3 个答案:

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