datetime – 使用Groovy比较运算符与Date对象
发布时间:2020-12-14 16:31:05 所属栏目:大数据 来源:网络整理
导读:我正在调查一个问题,遇到一些可疑代码,涉及使用比较运算符比较Date实例.例如 def stamp = ... //Date def offset = ... //Integer def d = new Date(stamp.time + offset) if (d new Date()) { ... } This资源表示以上相当于以下内容 def stamp = ... //Date
我正在调查一个问题,遇到一些可疑代码,涉及使用比较运算符比较Date实例.例如
def stamp = ... //Date def offset = ... //Integer def d = new Date(stamp.time + offset) if (d < new Date()) { ... } This资源表示以上相当于以下内容 def stamp = ... //Date def offset = ... //Integer def d = new Date(stamp.time + offset) if (d.compareTo(new Date()) < 0) { ... } 但是,GDK documentation on Dates只有使用compareTo,之前和之后比较日期的示例,我似乎回忆起具体避免在日期上使用比较运算符,因为具有意想不到的效果.上面两个代码示例确实是等价的(也就是说,我可以在Groovy中的日期安全地使用比较运算符,还是应该只使用compareTo,之前和之后)? 谢谢! 解决方法
那么如果你把它们插入方便的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" } 打印“之前”两次 如果我将邮票日期切换到2011,可以说不会打印. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |