1.java.lang.System类 该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
1 |
System.currentTimeMillis(); |
2.Calendar类 先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set方法设定指定时间,最后用getTimeMillis获取毫秒值。
1 2 3 4 5 6 |
Calendar calendar = Calendar.getInstance(); calendar.clear(); //指定时间的毫秒数 calendar.set(2021, 0, 1); long millis = calendar.getTimeInMillis(); |
※ Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。 3.java.util.Date类、SimpleDateFormat类 先由时间格式创建SimpleDateFormat对象,然后通过parse方法由指定时间创建Date对象,最后由Date对象的getTime方法获取毫秒值。
1 2 3 4 5 6 7 8 9 10 11 |
SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd"); Date date = null; try { //指定时间的毫秒数 date = format.parse("2021-01-01"); } catch (ParseException e) { e.printStackTrace(); } long millis = date.getTime(); |
测试
1 2 3 4 5 6 7 8 9 10 |
public static void test() { long curTime1 = System.nanoTime(); System.out.println("System.currentTimeMillis() " + System.currentTimeMillis() + " 耗时(ns):" + (System.nanoTime() - curTime1)); long curTime2 = System.nanoTime(); System.out.println("new Date().getTime() " + new Date().getTime() + " 耗时(ns):" + (System.nanoTime() - curTime2)); long curTime3 = System.nanoTime(); System.out.println("Calendar.getInstance().getTimeInMillis() " + Calendar.getInstance().getTimeInMillis() + " 耗时(ns):" + (System.nanoTime() - curTime3)); } |
结果 System.currentTimeMillis() 1630315030949 耗时(ns):39600 new Date().getTime() 1630315030949 耗时(ns):500300 Calendar.getInstance().getTimeInMillis() 1630315030956 耗时(ns):19424400 参考: https://www.cnblogs.com/jpfss/p/10455524.html 转载请注明出处:BestEternity亲笔。 from:https://blog.csdn.net/BestEternity/article/details/119998914
View Details