Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 是否有任何选项可以通过groovy读取项目的总执行时间_Datetime_Groovy_Soapui - Fatal编程技术网

Datetime 是否有任何选项可以通过groovy读取项目的总执行时间

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中,您可以使用该实用程序减去日期,并获得表示差异的对象。通过该对象,您可以检查所有类型的结构化时间/持续时间信息 此外,如果您在字符串表示中有一个日期,

目前,我喜欢使用groovy计算我的SOAPUI自动化项目所花费的总时间。我尝试了以下方法,但不起作用:

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,实际上它给出了准确的比较,我接受这一点。。