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);

运行结果:

原文地址:https://www.cnblogs.com/saryli/p/9855644.html