一、Date
Date date = new Date();
long time = date.getTime();
比较原始的获取方式,因为new Date()底层就是调用的系统时间,所以如果只是计算时间差,还不如直接调用System。
二、System
long time = System.currentTimeMillis();
获取系统当前时间戳,即从1970年1月1日 00:00:00开始计时到当前时间的毫秒数。
三、Instant
long time = Instant.now().toEpochMilli();
Java8中引入的新的时间API,与System获取时间的区别就是,Instant使用UTC时区表示,不受系统服务器时区设置的影响。
四、总结
使用System和Instant都可以,只是计算时间差的话与时不时区的没有关系。