1.java.lang.System类
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
System.currentTimeMillis();
2.Calendar类
先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set方法设定指定时间,最后用getTimeMillis获取毫秒值。
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方法获取毫秒值。
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();
测试
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亲笔。