jmeter获取当前时间、时间运算、时间比较、时间转换
其它
${__time(,)}
默认返回13位:1649662506978
如果只要前10位:${__time(/1000,)}
获取当前时间,转换为指定格式,放入参数
方法一:函数
SSS是毫秒
2020-04-24 13:00:27.446
${__time(yyyy-MM-dd HH:mm:ss.SSS,)}
方法二:beanshell
import java.text.SimpleDateFormat; import java.util.Date; Date d = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String str = df.format(d); log.info(str); vars.put("now_time", str);
关联获取时间戳,转换为指定格式,放入参数
下面只是在idea中调通了,参考上面在jmeter实现即可
package com.qzcsbj.test; import java.text.SimpleDateFormat; import java.util.Date; /** * @description : <描述> */ public class T { public static void main(String[] args) { String lt = "1673213255784"; // 定义关联获取到的时间戳 Long t = Long.valueOf(lt); // 转换为Long类型 Date date = new Date(t); // 构造方法创建Date对象 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); // 定义格式 String str = df.format(date); System.out.println(str); // 2023-01-09 05:27:35.784 } }
时间运算
时间比较
方法一:compareTo方法
package com.qzcsbj; public class Test { public static void main(String[] args) { String date1 = "2020-01-21"; String date2 = "2020-01-12"; int res = date1.compareTo(date2); // 两个时间的格式必须一致,否则报错 if(res > 0) { System.out.println("date1 > date2"); } else if(res == 0) { System.out.println("date1 = date2"); } else if(res < 0) { System.out.println("date1 < date2"); } } } // date1 > date2
方法二:正则替换,然后转换为long
package com.qzcsbj; public class Test { public static void main(String[] args) throws InterruptedException { // 将时间字符串转成Long类型进行比较 String dateStr = "2020-04-25 12:00:00.898"; // \s是指空白,包括空格、换行、tab缩进等所有的空白,而\S刚好相反,只要出现空白就匹配 // "."是不会匹配换行的,所有出现有换行匹配的时候,人们就习惯 使用[\s\S]或者[\w\W]这样的完全通配模式 long longDate = Long.valueOf(dateStr.replaceAll("[-\\s:\\.]","")); System.out.println(longDate); // 20200425120000898 } }
方法三:转换为long,比较时间戳
package com.qzcsbj; import java.util.Calendar; import java.util.Date; public class Test { public static void main(String[] args) throws InterruptedException { Date time = new Date(); Thread.sleep(1000*1); // 休眠1秒 Calendar calendar = Calendar.getInstance(); // 获取实例 // System.out.println(calendar); calendar.setTime(time); // 设置时间 // System.out.println(calendar); // 时间加、减 calendar.add(Calendar.HOUR,-1); // 小时减1 Date startTime = calendar.getTime(); calendar.add(Calendar.HOUR,2); // 小时加2 Date endTime = calendar.getTime(); System.out.println(time); // Sun Apr 25 10:06:19 CST 2020 System.out.println(startTime); // Sun Apr 25 09:06:19 CST 2020 System.out.println(endTime); // Sun Apr 25 11:06:19 CST 2020 // 时间戳 long timestamp = time.getTime(); long startTimestamp = startTime.getTime(); long endTimestamp = endTime.getTime(); // System.out.println(timestamp); // 1587720673166 // System.out.println(startTimestamp); // 1587717073166 // System.out.println(endTimestamp); // 1587724273166 // 比较大小 System.out.println(timestamp > startTimestamp); // true System.out.println(timestamp > endTimestamp); // false } }
常用时间转换
package com.qzcsbj; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static void main(String[] args) throws InterruptedException, ParseException { Date d = new Date(); System.out.println(d); // Fri Apr 25 17:45:14 CST 2020 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String str = df.format(d); System.out.println(str); // 2020-04-25 17:44:54.365 Date d2 = df.parse(str); System.out.println(d2); // Fri Apr 25 17:45:14 CST 2020 // 获取时间戳 long t = d.getTime(); System.out.println(t); // 1587807894365 long t2 = d2.getTime(); System.out.println(t); // 1587807894365 String str2="2020-04-25 17:44:54.365"; Date d3 = df.parse(str2); long t3 = d3.getTime(); System.out.println(t3); // 1587807894365 System.out.println("====================="); // 将时间戳转换为时间 String str3 = "1587807894365"; SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long lt = new Long(str3); System.out.println(lt); // 1587807894365 Date d4 = new Date(lt); System.out.println(d4); // Sat Apr 25 17:44:54 CST 2020 //日期格式化 String str4 = df2.format(d4); System.out.print(str4 + "\n"); // 2020-04-25 17:44:54 Date d5 = df2.parse(str4); System.out.println(d5); // Sat Apr 25 17:44:54 CST 2020 System.out.println("====================="); // 获取当前时间的时间戳 System.out.println(System.currentTimeMillis()); // 1587721580028 // java计算程序执行时间 long startTime2=System.currentTimeMillis(); //获取开始时间 Thread.sleep(1000*2); // 休眠2秒 long endTime2=System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间:"+(endTime2-startTime2)+"ms"); // 程序运行时间:2000ms } }
原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/12768623.html
__EOF__
![微信:ren168632201](https://files-cdn.cnblogs.com/files/uncleyong/wx.bmp)
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!