Groovy时间段

嗨,我想在Groovy中计算两次之间的差异(持续时间).例如

start =“2010-10-07T22:15:33.110 01:00”
stop =“2010-10-07T22:19:52.356 01:00”

理想情况下,我希望得到的时间是以小时,分,秒,毫秒为单位.

有人可以帮忙吗我已经尝试使用Groovy的持续时间课程,但没有能够取得任何进展.

感谢你的协助.

解决方法

如果您只想找到两次创建自己的区别(例如,查看执行需要多长时间),您可以使用:

import groovy.time.*

def timeStart = new Date()
// Some code you want to time
def timeStop = new Date()
TimeDuration duration = TimeCategory.minus(timeStop,timeStart)
println duration

如果您特别需要使用上面提供的日期.尝试这个,首先他们的格式有点奇怪,特别是01:00,这是时区,我希望它为0100格式工作.你可以删除我刚刚做的替代的时区.

import groovy.time.*

def start = Date.parse("yyy-MM-dd'T'HH:mm:ss.SSSZ","2010-10-07T22:15:33.110+01:00".replace("+01:00","+0100"))
println start
def end = Date.parse("yyy-MM-dd'T'HH:mm:ss.SSSZ","2010-10-07T22:19:52.356+01:00".replace("+01:00","+0100"))
println end
TimeDuration duration = TimeCategory.minus(end,start)
println duration

输出

Thu Oct 07 15:15:33 MDT 2010
Thu Oct 07 15:19:52 MDT 2010
4 minutes,19.246 seconds

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...