datetime – Groovy:如何初始化和比较来自不同时区的日期/时间值?

我需要标准化和比较不同时区的日期/时间字段.例如,你如何找到以下两次之间的时差?…

"18-05-2012 09:29:41 +0800"
"18-05-2012 09:29:21 +0900"

使用日期/时间初始化标准变量的最佳方法是什么?
输出需要在时区(例如0100)中显示差异和标准化数据,该时区与传入值不同并且与本地环境不同.

预期产出:

18-05-2012 02:29:41 +0100 
18-05-2012 01:29:21 +0100
Difference: 01:00:20

解决方法

或者,使用JodaTime包

@Grab( 'joda-time:joda-time:2.1' )
import org.joda.time.*
import org.joda.time.format.*

String a = "18-05-2012 09:29:41 +0800"
String b = "18-05-2012 09:29:21 +0900"

DateTimeFormatter dtf = DateTimeFormat.forPattern( "dd-MM-yyyy HH:mm:ss Z" );

def start = dtf.parseDateTime( a )
def end = dtf.parseDateTime( b )

assert 1 == Hours.hoursBetween( end,start ).hours

相关文章

背景:    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...