使用java.sql.Time类在Goovy中添加运行时
我试图找到一种方法,在Groovy开发的系统中添加面试的运行时间 在我的代码中,我有一个java.sql.Time对象的ArrayList(“下面代码中的时间”),我想用一个闭包来计算ArrayList中采访的总时间。但是,我找不到一种有效的方法来添加到java.sql.Times。因此,如果我的ArrayList包含sql时间“00:01:30”和“00:02:30”,则该方法将返回“00:04:00” 谢谢 不您可以这样做(编辑这在webconsole和桌面控制台中都有效): 哪张照片使用java.sql.Time类在Goovy中添加运行时,java,groovy,time,Java,Groovy,Time,我试图找到一种方法,在Groovy开发的系统中添加面试的运行时间 在我的代码中,我有一个java.sql.Time对象的ArrayList(“下面代码中的时间”),我想用一个闭包来计算ArrayList中采访的总时间。但是,我找不到一种有效的方法来添加到java.sql.Times。因此,如果我的ArrayList包含sql时间“00:01:30”和“00:02:30”,则该方法将返回“00:04:00” 谢谢 不您可以这样做(编辑这在webconsole和桌面控制台中都有效): 哪张照片 00
00:04:00
按要求
这段代码的原始问题是,在Google App Engine JDK上,
new Time('00:00')。Time
返回0
,而在ex Sun 1.6 JVM上,同样的代码返回-3600000
奇数,当我在TextMate中运行这段代码时,我得到“05:04:00”,使用:Groovy Version:1.8.0 JVM:1.6.024wird…它在web控制台中工作…我会在桌面控制台中尝试它,只要我能进入我的计算机…@非常奇怪。。。你是对的当然,它在桌面上失败了。我已经用新版本更新了它。一定是和运行谷歌应用引擎的OpenJDK版本有关…看起来不错。非常感谢Tim,总有一天我会学习如何正确使用闭包。在twitter上被问到,原始代码的问题当然是与时区有关。gae在utc时间运行,而我在英国夏令时(doh——真的应该发现这一点);-)
import java.sql.Time
def timeList = [
Time.valueOf( '00:01:30' ),
Time.valueOf( '00:02:30' ),
]
def sumTime( times ) {
long zero = Time.valueOf( '00:00:00' ).time
new Time( zero + times.sum { it.time - zero } )
}
println sumTime( timeList )
00:04:00