我正在尝试将soapui属性值(例如:2017/04/17 02:00:00)转换为毫秒。我必须将明天自定义日期时间(以毫秒为单位)存储到soapui属性中。截至目前,我可以将自定义时间的日期存储到属性中。现在需要将其转换为毫秒。
def date = new Date();
def nextDate = date + 1
tomorrow = nextDate.format("yyyy/MM/dd");
log.info tomorrow
def setTomorrow = testCase.testSuite.project.setPropertyValue("Date", tomorrow + ' 02:00:00' );
long millisecond = setTomorrow.getTime();
log.info millisecond
错误:
无法在null对象
上调用方法getTime()
请帮助。
答案 0 :(得分:1)
如果你想明天在millis的时间:
def date = new Date() + 1
log.info "Tomorrow's time in millis : ${date.time}"
//Set it into project property
context.testCase.testSuite.project.setPropertyValue('DATE_TIME', date.time.toString())
希望您知道如何使用属性扩展访问上述DATE_TIME
项目属性,即${#Project#DATE_TIME}
如果您想要特定的日期字符串为millis,请使用以下内容:
def date2 = Date.parse('2017/04/17 02:00:00')
log.info date2
编辑:根据OP的评论,更新下面的脚本 -
//Tomorrow date
def d = (new Date() +1).format('yyyy/MM/dd')
use(groovy.time.TimeCategory) {
//Add fixed hours i.e., 2
def tomorrow2hours = new Date(d) + 2.hours
log.info "Tomorrow @ 2 hrs : ${tomorrow2hours}"
log.info "In millis : ${tomorrow2hours.time}"
context.testCase.testSuite.project.setPropertyValue('DATE_TIME', tomorrow2hours.time.toString())
}
EDIT2:基于OP评论错误的毫秒,从下面的代码是错误的 - 尝试在声明context...
之后添加两个以下并查看。
def dd = new Date(tomorrow2hours.time)
log.info dd.format('yyyy-MM-dd HH:mm:ss')