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,,)}就是你的位移时间,然后转换位时间戳
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现