一、引入主题(time)

  jmeter中,有很多已经封装好的函数,使用这些函数,就能实现某些特定的功能,这对于没有代码基础,或代码基础薄弱的同学来说,是一个非常大的福音。

二、Jmeter把时间戳转为本地时间方式

第1种:就是使用jmeter现有的元件或下载一些插件,使用元件来实现预期功能;

第2种:就是使用jmeter提供的函数,有使用过jmeter的同学,如果细心点,应该会发现,jmeter的函数其实也包括两部分,一部分是自带的函数,

一部分是通过安装插件引入函数,使用这些函数,有时候能实现一些意想不到的效果,采用函数实现,比采用元件实现,更简单,脚本也更简洁;

第3种:使用代码实现,注意,我说的代码实现,并不限于java语言,也不限于BeanShell元件。可以是jmeter二次开发,可以是groovy语言或

jython语言,可以是JSR223元件等。

三、实现方式(step)

1、获取当前时间戳函数__time()

这个函数,相信大家都清楚,大家可能用的最多的就是通过这个函数,可以生成当前时间的时间戳,或者格式化当前时间

常用于接口参数需要时间时的参数。

这个函数,有两个可填参数。

                                                                                                            

注意点: 

  (1)如果都不填,那么获得的是当前时间的时间戳;

  (2)如果填第一个参数,就是格式化当前时间,填写对应的时间格式,把当前时间用对应的格式返回;

  如果想要格式化时间精确到毫秒:${__time(yyyy-MM-dd HH:mm:ss:SSS,)}

  (3)如果填第二个参数,就是把时间结果用一个变量接收

但是,不管怎么用,都只能获取当前时间

2、时间位移__timeShift()

这个函数,是离获取当前时间的time函数最近的一个函数,也是大家最容易与time函数混淆的函数。是时间位移函数。

常见于脚本中需要做时间偏移计算时用。

这个函数,它有五个可选参数:

注意点:

  (1)如果所有的都不填,哪也是获取当前的时间戳;

  (2)第1个参数,是格式化时间,如果不填,时间戳精确到毫秒,如果填了,就格式化输出时间;

  (3)第2个参数,日期,上一个参数的格式返回这个日期,如:${__timeShift(yyyy-MM-dd,20200915,,,)} 如果未填,则为当前日期;

  (4)第3个参数,时间位移,以可选的正号‘+’ 和负号‘-’开头,负号‘-’开头,表示整个时间相减;再以大小写p为前缀,后面跟具体位移数和单位,

单位'D'为天,'H'为小时,'M'为分钟,'S'为秒,而'T'必须在任意一个H\M\S出现之前,数字可以是正数或负数;天\时\分,前的数字为整数,秒,

可以是小数。如在当前日期上增加2天4小数6分10.234秒:${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,p2dt4h6m10.234s,,)}详见

  (5)第4个参数,区域语言设置

  (6)第5个参数,定义存储结果的变量名

3、时间戳转为本地时间__dateTimeConvert()

这个函数,相信很多同学都没有用过,也极少看到有介绍这个函数的相关文章,但是,这个函数的作用却非常大。他的作用就是将时间戳转换为本地时间

常用于对接口响应结果中的时间戳进行转换。

这个函数,有四个参数

注意:

  (1)第1个参数,被转换的时间,为空时,表示当前时间戳,精确到毫秒

  (2)第2个参数,被转换时间的时间格式,上面时间的格式

  (3)第3个参数,转换后的时间格式,

    例:${__dateTimeConvert(09102020011034,MMddyyyyHHmmss,yyyyMMddHHmmss,)} 原始时间格式为:月日年时分秒,转换后为:年月日时分秒

    例2:${__dateTimeConvert(1599723255000,,yyyyMMdd HHmmss,)} 一个精确到毫秒的时间戳,转换为:年月日 时分秒 格式时间

  (4)第4个参数,定义存储结果的变量名称

4、随机时间__RandomDate()

看到这个,相信你就知道,肯定是随机数,是的,但是它是随机日期函数。可以在一个随机日期之间,随机选一个日期返回。注意,这个函数操作的是 日期

这个函数,有五个参数

注意点:

  (1)第1个参数,日期格式,默认为 年-月-日

  (2)第2个参数,起始日期,随机日期区间起始值,包含起始值,空时,默认为当前日期

  (3)第3个参数,结束日期,随机日期区间结束值,不包含结束值第4个参数,区域语言设置

    例:${__RandomDate(yyyyMMdd,20200718,20200918,,)} 从一个日期格式为yyyyMMdd日期区间随机区一个日期

  (4)第5个参数,定义存储的变量名称

Jmeter 如何把 时间戳 转为 本地时间的更多相关文章

  1. 将UTC日期字符串转为本地时间字符串,如@"yyyy-MM-dd'T'HH:mm:ssZ"转换为本地时间

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串//输入 ...

  2. JS将指定的时间戳转为UTC时间

    Js中获取时间戳可用var dayMiliseconds = parseInt(new Date().valueOf());Js的时间戳单位为毫秒(1s = 1000 ms),下面是一个将制定的格式转 ...

  3. Python 将时间戳转换为本地时间并进行格式化

    在python中,时间戳默认是为格林威治时间,而我们为东八区 使用localtime() 本地化时间戳 使用 strftime() 格式化时间戳 time = time.strftime('%Y%m% ...

  4. CloudStack中云主机的UTC时间转为本地时间

    CloudStack项目中使用的时间是UTC时间,具体什么是UTC时间大家可以百度,但是我们需要的时间是正常的时间,所以在国泰君安开发测试云中,同步资源管理中虚拟机的同步管理,需要对虚拟机的时间格式化 ...

  5. koa2+koa-art-template利用日期管道实现在jat模板中将时间戳转为日期时间

    var sp = require("silly-datetime"); var render = require("koa-art-template"); va ...

  6. c#中WMI 中的日期和时间转为本地时间

    取得的值:CreationDate:20170122084915 .713600+480 转:   var objQuery = new ObjectQuery("select * from ...

  7. utc时间、本地时间及时间戳转化

    1.时间戳的概念 时间戳的定义请看百科unix时间戳,需要注意的时间戳为当前时刻减去UTC时间(1970.1.1)零点时刻的秒数差,与当前系统所处的时区无关,同一时刻不管在任何时区下得到的时间戳都是一 ...

  8. 时间:UTC时间、GMT时间、本地时间、Unix时间戳

    转自:http://blog.csdn.net/u012102306/article/details/51538574 1.UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT ...

  9. 10位时间戳转为C#格式时间

    /// <summary> /// 10位时间戳转为C#格式时间 /// </summary> /// <param name=”timeStamp”></p ...

  10. [转帖]UTC时间、GMT时间、本地时间、Unix时间戳

    UTC时间.GMT时间.本地时间.Unix时间戳 https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/ ...

随机推荐

  1. c语言基础理解(原创)

          家中小女初上大学开学计算机课程,学习C语言时遇到困难,为帮助她尽快入门,特写了这篇基本概念理解,希望帮她快速认识清楚C语言的本质.发到博客园上,也帮助同样的C语言初学者轻松掌握C语言的本质 ...

  2. Hadoop详解(09) - Hadoop新特性

    Hadoop详解(09) - Hadoop新特性 Hadoop2.x新特性 远程主机之间的文件复制 scp实现两个远程主机之间的文件复制 推 push:scp -r hello.txt root@ha ...

  3. python之路26 面向对象魔法方法、元类、元类定制类、对象的产生行为 __new__方法

    面向对象的魔法方法 魔法方法:类中定义的双下方法都称为魔法方法 不需要人为调用 在特定的条件下会自动触发运行 eg:__init__创建空对象之后自动触发给对象添加独有的数据 1.__init__ 对 ...

  4. STL容器vector

    一.什么是Vector        向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为, ...

  5. VSCode 创建flutter项目和运行、调试、热更新项目

    1.创建--在終端輸入命令 flutter create 项目名 2.普通运行--在终端输入命令 flutter run 3.打开你的虚拟机或者是连上手机等待页面加载 4.普通運行情況下修改代碼后想要 ...

  6. (原创)【B4A】一步一步入门01:简介、开发环境搭建、HelloWorld

    一.前言 作者注:絮絮叨叨,可跳过不看. 一直有开发跨平台软件的需求.因为我的主力是C# ,所以当MAUI出现后,我欣喜若狂的开始学习研究.但是经历了两个月左右的时间,我弃坑了,我发现MAUI不是我能 ...

  7. Java基础1-1-2—java基础语法(运算符)

    2. 运算符 2.1 算术运算符 运算符和表达式 运算符:对常量或者变量进行操作的符号 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式. 不同运算符连接的表达式体现的是不 ...

  8. Quartz.Net源码Example之Quartz.Examples.AspNetCore

    Quartz.Examples.AspNetCore ​ .NetCore的Web系统,后台主要执行多个触发器任务,前台展示所有触发器信息和正在执行的作业的相关信息,还可以通过访问health-UI来 ...

  9. 学习ASP.NET Core Blazor编程系列二十三——登录(3)

    学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...

  10. Pycharm中图标的含义

    Pycharm中图标的含义 问题 有同学问,下面的v,c,f等都是啥意思 这个问题嘛,应该在python学习阶段来问,不过我也只能解释部分,有些也只能靠猜测 按图索骥找了下pycharm的官网doc, ...