Ste*_*sen 11 groovy datetime date operators gdk
我正在调查一个问题并遇到一些可疑代码,涉及使用比较运算符比较Date实例.例如
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d < new Date()) {
...
}
Run Code Online (Sandbox Code Playgroud)
该资源表明以上内容等同于以下内容
def stamp = ... //Date
def offset = ... //Integer
def d = new Date(stamp.time + offset)
if (d.compareTo(new Date()) < 0) {
...
}
Run Code Online (Sandbox Code Playgroud)
但是,关于日期的GDK文档仅包含使用compareTo,before和after和比较日期的示例.我似乎特别回想起由于遇到意外结果而特别避免在日期使用比较运算符.在上面的两个代码示例确实当量(也就是,我可以放心地在Groovy中使用的日期比较操作,或者我应该只使用compareTo,before和after)?
谢谢!
好吧,如果你将它们插入到方便的GroovyConsole中,它们会得到相同的结果.
如果我正确理解了这个问题:
def stamp = Date.parse("MM/dd/yyyy","02/02/2010")
def offset = 1213123123
def d = new Date(stamp.time+offset)
if(d < new Date() ) {
println "before"
}
if(d.compareTo(new Date()) < 0) {
println "before"
}
Run Code Online (Sandbox Code Playgroud)
两次打印"之前"
如果我将印章日期改为2011年,可以说它不会打印.
| 归档时间: |
|
| 查看次数: |
25232 次 |
| 最近记录: |