Jmeter之时间函数
__time函数
__time函数以各种格式返回当前时间
${__time(Format, variableName)}
Format:传递给 SimpleDateFormat的格式。参数可选,如果不提供该参数,则默认返回1970-01-01 00:00:00到当前时间的毫秒数。如果Format匹配"/ddd" (这里ddd为小数位数),那么函数将返回前面所述的时间毫秒数/ddd后的值。例如"/1000",返回1970-01-01 00:00:00到当前时间的秒数。否则传递当前时间给SimpleDateFormat
variableName :用于存放time函数返回结果值的变量名称,参数可选
例:
log.info("${__time()}");
log.info("${__time(,)}");
log.info("${__time(/1000,)}"); # 精确到秒
log.info("${__time(, var)}");
log.info("${var}");
log.info("${__time(yyyyMMdd, var)}");
log.info("${__time(YMD,)}");
log.info("${__time(HHmmss,)}");
log.info("${__time(HMS,)}");
log.info("${__time(yyyyMMdd-HHmmss,)}");
log.info("${__time(YMDHMS,)}");
log.info("${__time(dd/MM/yyyy,)}");
log.info("${__time(yyyy-MM-dd HH:mm:ss,)}");
log.info("${__time(yyyy-MM-dd HH:mm:ss:SSS,)}");
注意:有大小写区分,MM如果写成mm,会展示超过12月份的数据
__timeShift函数
JMETER 3.3版本开始才内置该函数,类似__time函数,不同之处在于它可以返回按指定时间单位和时间数量偏移后的值
${__timeShift(Format, DateToShift, valueToShift, LocaleToUseForFormat, variableName)}
Format : 同__time()函数,参数可选
DateToShift :日期(时间)值,格式同Format参数匹配,如果不匹配、未提供该参数值,则默认使用当前日期。偏移是基于该日期(时间)的。参数可选
valueToShift :指要偏移的秒数、分钟数、小时数、天数。参数可选
例:
PT15S 被解析为 15秒,意为在DateToShift 的基础上增加15秒
PT15M 被解析为 15分钟,意为在DateToShift 的基础上增加15分钟
PT10H 被解析为 10小时,意为在DateToShift 的基础上增加10小时
P2D 被解析为 2 天,意为在DateToShift 的基础上增加2天
LocaleToUseForFormat :表示日期(时间)的语言环境,即用于格式化日期(时间)的语言. 语言代码必须小写。国家代码必须大写。分隔符必须为下划线。比如en_EN。参数可选,如果未提供,则模式使用ApacheJMeter 的locale
variableName : 用于存放time函数返回结果值的变量名称,参数可选
__RandomDate
函数返回给定起始日期和结束日期之间的随机日期
${__RandomDate(Format, StartDate, EndDate, LocaleToUseForFormat, variableName)}
Format :同__time()函数,默认值为 yyyy-MM-dd
StartDate :起始日期,默认为now
EndDate :结束日期,参数必填
LocaleToUseForFormat: 同__timeShift()函数
variableName :同__time()函数
注意:StartDate 和 EndDate 格式必须和Format保持一致