jmeter之时间戳

初级篇·简单时间戳生成

在使用jmeter做接口测试的时候,经常会要用到日期函数,让系统自动生成一些格式化的数据,方便接口测试,jmeter自身就带有时间戳的函数

 

1、__time():获取时间戳、格式化时间

(1)${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2018-10-26 11:08:23:635

(2)${__time(yyyy-MM-dd HH:mm:ss,time)} :格式化生成时间格式 2018-10-26 11:08:23

(3)${__time(,)} :默认该公式精确到 毫秒 级别, 13位数 1527822855323

(4)${__time(/1000,)} :该公式精确到 秒 级别, 10位数 1527822871

(5)${__time(yyyy-MM-dd,)} : 该公式格式化生成的常规时间为:2018-10-26

(6)${__time(yyMMdd,)} : 该公式格式化生成的时间为:181026

 

2、__timeShift(格式,日期,移位,语言环境,变量)函数,可以将时间进行移位,对当前时间增加或者减少对应的时间

(1)格式 - 将显示创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。

(2)日期 - 这是日期值。用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期的情况。如果参数值未通过,则使用当前日期。

(3)移位 - 表示要从日期参数的值中添加或减去多少天,几小时或几分钟。如果该值未被传递,则不会将任何值减去或添加到日期参数的值中。

    “P1DT2H4M5S” 解析为“添加1天2小时4分钟5秒”
   
     “P-6H3M”解析为“-6小时+3分钟”
    
    “-P6H3M”解析为“-6小时-3分钟”
    
    “-P-6H + 3M”解析为“+6小时和-3分钟”

(4)、区域设置 - 设置创建日期的显示语言。不是必填项

(5)、变量 - 创建日期的值将被分配给的变量的名称。不是必填项

${__timeShift(yyyy-MM-dd,2018-10-26,P2D,,)}这种返回的时间就是2018-10-28。 注意2018-10-26必须对应格式yyyy-MM-dd,否则会返回当天日期。

 

3、__randomDate(格式,开始时间,结束时间):时间段内随机获取时间

(1)格式默认为yyyy-MM-dd

${__randomDate(yyyy-MM-dd,2018-10-01,2018-10-30)},这种函数就会自动返回20181001-20181030之间的一个日期。

 

4 获取当天时间的23:59:59,然后转换为时间戳

${__groovy(new  java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss').parse('${__time(yyyy-MM-dd)} 23:59:59').getTime(),)} 

  解释:${__time(yyyy-MM-dd)} 23:59:59  是你输入的时间,程序会按照你输入的时间转换为13位毫秒时间戳

  你还可以结合时间移位使用:${__groovy(new  java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss').parse('${__timeShift(yyyy-MM-dd,,-P1D,,)} 23:59:59').getTime(),)}

    其中${__timeShift(yyyy-MM-dd,,-P1D,,)}就是你的位移时间,然后转换位时间戳

 

posted @ 2021-09-06 17:03  博无止境  阅读(694)  评论(0编辑  收藏  举报