今天学习一下TimeShift函数在JSR223中的使用方法。
关联之前的一篇时间戳文章:Jmeter(十二)_打印时间戳
首先,创建线程组,在线程组下面创建一个JSR223采样器
选择Groovy语言
在JSR223采样器中,添加下面的代码
log.info("Next year: " + "${c5}");
__timeShift(格式,日期,移位,语言环境,变量)函数说明:
格式 - 将显示创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。
日期 - 这是日期值。用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期的情况。如果参数值未通过,则使用当前日期。
移位 - 表示要从日期参数的值中添加或减去多少天,几小时或几分钟。如果该值未被传递,则不会将任何值减去或添加到日期参数的值中。如下所述:
- “PT20.345S”解析为“20.345秒”
- “PT15M”解析为“15分钟”
- “PT10H”解析为“10小时”
- “P2D”解析为“2天”
- “P2DT3H4M”解析为“2天,3小时和4分钟”
- “P-6H3M”解析为“-6小时+3分钟”
- “-P6H3M”解析为“-6小时-3分钟”
- “-P-6H + 3M”解析为“+6小时和-3分钟”
区域设置 - 设置创建日期的显示语言。不是必填项
变量 - 创建日期的值将被分配给的变量的名称。不是必填项
上面显示的代码执行以下操作:
$ {__ timeShift(yyyy-MM-dd HH:mm:ss,PT20.345S,c)}; - 以指定格式创建当前日期,再加上20.345S。“C”是赋值给的变量的名称。
返回:c=2018-05-30 11:08:43
$ {__ timeShift(dd-MM-y-HH-mm-ss,P1DT3H4M,c1)}; - 以指定格式创建当前日期,再加上一天,三小时和四分钟。“C1”是赋值给的变量的名称。
返回:c1=31-05-2018-14-12-23
$ {__ timeShift(dd / MM / yyyy,P-1D,c2)}; - 以指定格式创建当前日期,减去一天。“C2”是分配值的变量的名称。
返回:c2=29/05/2018
$ {__ timeShift(dd / MM / yyyy,P365D ,, c3)}; - 以指定格式创建当前日期,再加上365天。“C3”是分配结果值的变量的名称。
返回:c3=30/05/2019
“$ {__ timeShift(y MMM dd HH:mm:ss ,,, fr_FR,c4)}”; - 以法语显示的指定格式创建当前日期。
返回:c4=2018 mai 30 11:08:23
$ {__ timeShift(dd / MM / yyyy,10/10/2010,P365D,c5)}; - 在10/10/2010加上365天创建一个日期。
返回:c5=10/10/2011