在 groovy 中创建日期数组
Create dates array in groovy
我正在尝试在 groovy 中创建可以存储多个日期的数组。
例如:我正在检查不同日期的可用性,如果发现可用,我想将它添加到我的数组中。
所以基本上我有一个带有变量的 while 循环,它决定了循环迭代的次数。数组长度应该等于时间循环迭代的次数。
预期结果应如下所示:
"2019/12/02","2019/12/03","2019/12/04"
我的代码 :
def SeriesDaysNumber = context.expand('${#Project#SeriesDaysNumber}')
def dates = new String[SeriesDaysNumber]
while(isAvailable == false)
{
log.info "Inside While loop"
for (i = 0; i < SeriesDaysNumber.toInteger(); i++)
{
// some DB query to check availability
if(res[0].toString() == '0')
{
isAvailable = true
seriesEndDate2 = "${SeriesEndDate1.format(outputDateFormatSeries)}"
context.testCase.testSuite.project.setPropertyValue('SeriesEndDate', seriesEndDate2)
// this date is available so add it to array, here i use zero index but i want it dynamically.
dates[i] = seriesEndDate2.toString()
log.info "dates : " + dates
use(TimeCategory)
{
// here i am incrementing the date
}
}
}
}
实际结果
Mon Dec 02 15:24:56 IST 2019:INFO:dates : [2019/12/02, 2019/12/05, 2019/12/08, 2019/12/11, 2019/12/14, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
我需要做 4 件事才能达到预期的结果:
dates[i]
而不是 dates[0]
将所有日期存储在数组中。
def dates = new String[SeriesDaysNumber.toInteger()]
解决 null 问题。
dates[i] = "\""+seriesEndDate2.toString()+"\""
将日期放在双引号中。
log.info "dates : " + dates.join(", ")
从数组中删除方括号。
我正在尝试在 groovy 中创建可以存储多个日期的数组。 例如:我正在检查不同日期的可用性,如果发现可用,我想将它添加到我的数组中。 所以基本上我有一个带有变量的 while 循环,它决定了循环迭代的次数。数组长度应该等于时间循环迭代的次数。
预期结果应如下所示:
"2019/12/02","2019/12/03","2019/12/04"
我的代码 :
def SeriesDaysNumber = context.expand('${#Project#SeriesDaysNumber}')
def dates = new String[SeriesDaysNumber]
while(isAvailable == false)
{
log.info "Inside While loop"
for (i = 0; i < SeriesDaysNumber.toInteger(); i++)
{
// some DB query to check availability
if(res[0].toString() == '0')
{
isAvailable = true
seriesEndDate2 = "${SeriesEndDate1.format(outputDateFormatSeries)}"
context.testCase.testSuite.project.setPropertyValue('SeriesEndDate', seriesEndDate2)
// this date is available so add it to array, here i use zero index but i want it dynamically.
dates[i] = seriesEndDate2.toString()
log.info "dates : " + dates
use(TimeCategory)
{
// here i am incrementing the date
}
}
}
}
实际结果
Mon Dec 02 15:24:56 IST 2019:INFO:dates : [2019/12/02, 2019/12/05, 2019/12/08, 2019/12/11, 2019/12/14, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
我需要做 4 件事才能达到预期的结果:
dates[i]
而不是dates[0]
将所有日期存储在数组中。def dates = new String[SeriesDaysNumber.toInteger()]
解决 null 问题。dates[i] = "\""+seriesEndDate2.toString()+"\""
将日期放在双引号中。log.info "dates : " + dates.join(", ")
从数组中删除方括号。