获取当前时间
方法一:函数
SSS是毫秒
${__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);
时间运算
时间比较
方法一: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
}
}
另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取软件测试资料以及群内测试大牛解惑!
测试工程师职业发展路线图
功能测试 —— 接口测试 —— 自动化测试 —— 测试开发 —— 测试架构师
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。
资源不错就给个推荐吧~