获取当前时间
方法一:函数
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);
时间运算
时间比较
方法一: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刚好相反,只要出现空白就匹配 // "."是不会匹配换行的,所有出现有换行匹配的时候,人们就习惯 使用[sS]或者[wW]这样的完全通配模式 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 + " "); // 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 } }