Groovy在00:00:00分获取今天的日期

时间:2012-01-12 19:01:46

标签: date groovy

我有这个问题。我需要做以下事情:

  • 获取今天的日期
  • 创建一个新日期,即今天的00:00:00
  • 制作另一个日期,即今天的日期为23:59:59

例如。今天日期是2012年1月12日19:00

我如何创建一个新的日期,即2012年1月12日00:00(当天开始)

看起来似乎很容易,但我找不到任何方法来获得它,任何帮助都会被贬低。

2 个答案:

答案 0 :(得分:21)

要在午夜获取日期,请使用Date.clearTime (docs)

dateAtMidnight = new Date()
dateAtMidnight.clearTime()

(Javadocs用于Groovy JDK< 2.0,clearTime()在Groovy JDK 2.0中声明为void,阻止d = new Date().clearTime()。注释表明原始功能可能会被恢复,yay !)

要进行比较,请使用<= 23:59:59

,而不是使用< (the next day)
(aDate >= dateAtMidnight) && (aDate < (dateAtMidnight + 1))

答案 1 :(得分:1)

另一种方法,但是它设置了日期时间(但它不能仅仅获取日期)

dateAtMidnight = new Date() dateAtMidnight.set(hourOfDay: 0, minute: 0, second: 0)