Datetime 是否有任何选项可以通过groovy读取项目的总执行时间
目前,我喜欢使用groovy计算我的SOAPUI自动化项目所花费的总时间。我尝试了以下方法,但不起作用:Datetime 是否有任何选项可以通过groovy读取项目的总执行时间,datetime,groovy,soapui,Datetime,Groovy,Soapui,目前,我喜欢使用groovy计算我的SOAPUI自动化项目所花费的总时间。我尝试了以下方法,但不起作用: Date startTime= new Date() Date EndTime= new Date() 但我无法比较日期,因为它将数据类型作为字符串“Sat May 18 23:54:29 IST 2019”,我无法找到差异。在groovy中,您可以使用该实用程序减去日期,并获得表示差异的对象。通过该对象,您可以检查所有类型的结构化时间/持续时间信息 此外,如果您在字符串表示中有一个日期,
Date startTime= new Date()
Date EndTime= new Date()
但我无法比较日期,因为它将数据类型作为字符串“Sat May 18 23:54:29 IST 2019”,我无法找到差异。在groovy中,您可以使用该实用程序减去日期,并获得表示差异的对象。通过该对象,您可以检查所有类型的结构化时间/持续时间信息
此外,如果您在字符串
表示中有一个日期,则可以使用date.parse将其解析为日期
。parse
将字符串的格式和字符串表示本身作为参数传递
以下是所有这些的工作演示:
import groovy.time.*
def startTimeString = "Sat May 18 00:00:00 IST 2019"
def startTime = Date.parse("E MMM dd H:m:s z yyyy", startTimeString)
def endTime = new Date()
use (TimeCategory) {
TimeDuration duration = endTime - startTime
println "[${startTimeString}] was [${duration}] ago"
}
希望这有帮助。您可以使用以毫秒为单位返回时间的
System.currentTimeMillis()
函数。转换string.toLong()
并以毫秒为单位计算差异很容易…感谢您的响应,但我需要将日期转换为字符串,再次将字符串转换为日期以进行比较。如果您需要处理日期(但我不明白为什么),请使用prop=new date().format('yyyy-MM-dd HH:MM:ss.SSS')
和更高版本的日期解析('yyyy-MM-dd HH:MM:ss.SSS',prop)
谢谢dagget!!感谢您帮助我从字符串解析日期,它工作正常,但对输出格式的修改很少。您好,谢谢您的回复,但我也在尝试这种方法,但soap UI中的问题是,我需要将开始时间设置为项目属性,并且再次需要检索属性值,但它将存储为字符串,因此比较不起作用。希望您理解我的问题我刚刚编辑了答案,将日期从字符串转换为表示成一个日期
并最终使用它来计算所需的持续时间非常感谢Marco,实际上它给出了准确的比较,我接受这一点。。