遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

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

 

posted @ 2020-04-24 13:00  全栈测试笔记  阅读(5543)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end