我从用户那里得到两个约会。

<g:datePicker name="now"/>  <g:datePicker name="early"/>

然后,在我的 Controller 中:
if((params.early).compareTo(params.now)==0) {
  early=new Date(1970,1,1)
}
else {
  //do something
}

即使日期相同,其他部分也会被执行。
我们如何比较groovy中的日期?

最佳答案

如果打印出params.earlyparams.now会得到什么?您确定它们不是字符串吗?如果它们是日期,它们是否具有时间成分-这可能是它们不相等的原因。

您应该能够:

if( params.early == params.now ) {
  early = Date.parse( "yyyy/MM/dd", "1970/01/01" )
}
else {
  // do something
}

或者,如果它们是具有时间成分的日期,(并且您只对日期感兴趣):
if( params.early.clearTime() == params.now.clearTime() ) {
  early = Date.parse( "yyyy/MM/dd", "1970/01/01" )
}
else {
  // do something
}

09-12 14:22