使用java.sql.Time类在Groovy中添加运行时

时间:2011-07-05 19:55:47

标签: java groovy time

我正试图找出一种方法,在我正在使用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
}

谢谢,

1 个答案:

答案 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