Jmeter时间函数工具(参考)
__time : 获取时间戳、格式化时间
${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2018-06-01 11:08:23:635
${__time(,)}:默认该公式精确到毫秒级别, 13位数 1527822855323 ${__time(/1000,)}:该公式精确到秒级别, 10位数 1527822871
__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分钟”
示例:当前时间(20:10:43)减去8个小时
区域设置 - 设置创建日期的显示语言。不是必填项
变量 - 创建日期的值将被分配给的变量的名称。不是必填项
上面显示的代码执行以下操作:
$ {__ 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
__RandomDate:时间段内随机取值时间
${__RandomDate(yyyy-MM-dd,2018-01-01,2018-12-31,,variableName)}
StartDate 默认为当天时间
在接口请求前面添加前置处理器BeanShell PreProcessor
具体代码如下:
import java.text.*; import java.util.Date; Date currentTime = new Date(); SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss"); String dateString1 = formatter1.format(currentTime); String dateString2 = formatter2.format(currentTime); String dateString = dateString1+" "+dateString2; vars.put("Date",dateString); log.info("当前时间3为:"+dateString);
运行结果: