我正试图找出一种方法,在我正在使用Groovy的系统中添加访谈的运行时间。
在我的代码中,我有一个java.sql.Time对象的ArrayList(下面代码中的“times”)我想用Array关闭ArrayList中的访谈总时间。但我找不到一个有效的方法来添加到java.sql.Times。因此,如果我的ArrayList包含sql次“00:01:30”和“00:02:30”,则该方法将返回“00:04:00”。
def sumTime(java.util.ArrayList times) {
def sum = java.sql.Time.valueOf("00:00:00")
times.each() { x ->
//add current list member to sum
}
return sum
}
谢谢,
唐
答案 0 :(得分:1)
您可以执行此操作(编辑 这适用于Web控制台和桌面控制台):
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
根据要求
此代码的原始问题是,在Google App Engine JDK上,new Time( '00:00:00' ).time
返回0
,在前Sun 1.6 JVM上返回,相同的代码返回-3600000