jmeter-时间处理

${__time(,)} 1486091280955 //无格式化参数,返回当前毫秒时间,默认13位。一般用来做时间戳

${__time(/1000,)} //为取10位的时间戳的函数表达式(时间精确到秒)

${__time(yyyyMMdd,)} 20151214 //返回年月日

${__time(HHmmss,)} 092816 //返回时分秒

${__time(yyyyMMddHHmmss,)}20151214092816//全

缺陷:只能得到固定时间

 

{__javaScript(new Date())} //返回当前标准时间。{__javaScript(new Date().valueOf(),)} //返回
当前毫秒时间,默认13位。
${__javaScript(new Date(“Jan 29 2016”).valueOf(),)} //获取 Jan 29 2016的毫秒
缺陷:不能同时运行多个表达式

 

${__Random(,,)}是一个随机数函数,用来生成随机数,使用中可以用来拼接 设置随机日期。此函
数一共有3个入参
第一:最小值
第二:最大值
第三:此变量的名称,可省略,如果要在别处引用,才需要设置。
缺陷:时间不可控,可用性较

 

jmeter的beanshell插件实现

 

 

接口获取时间点前后一定间隔的时间函数:

__timeShift(时间格式, 特定时间点(缺省当前时间),时间间隔,地区格式(默认),变量名( 可不填,填写后其他地方用${变量名}引用 ))

 

举例:

1 特定时间点后一周:${__timeShift(yyyy-MM-dd,2018-11-30,P7D,,)}

2 当前时间点后1分钟:${__timeShift(yyyy-MM-dd HHmmss,,PT1M,,)}

3 当前时间点前30秒 :${__timeShift(yyyy-MM-dd HHmmss,,PT-30S,,)} 或 ${__timeShift(yyyy-MM-dd HHmmss,,-PT30S,,)}

4 当前时间点后12小时: ${__timeShift(yyyy-MM-dd HHmmss,,PT12H,,)

5 当前时间点前1个半小时:${__timeShift(yyyy-MM-dd HHmmss,,-PT1H30M,,)}

6 当前时间 2天6小时前的时间点:${__timeShift(yyyy-MM-dd HH:mm,,-P2DT6H,,)}  -2天-6小时

7 注意负号的位置   ${__timeShift(yyyy-MM-dd HH:mm,,P-2DT6H,,)}    -2天+6小时

8 地区格式 ${__timeShift(dd.MMM.yyyy,,P2D,en_GB,)}  

    

 

实际接口场景:接口取当前时间点前半小时的数据,time = ${__timeShift(yyyyMMddHHmmss,,-PT30M,,)}

posted on 2022-03-25 09:56  seamy  阅读(116)  评论(0编辑  收藏  举报