System.currentTimeMillis()-- 替换方法
原创
©著作权归作者所有:来自51CTO博客作者wx656d4b4815f53的原创作品,请联系作者获取转载授权,否则将追究法律责任
Instant.now().toEpochMilli()
(Java 8及以上)
- 在Java 8中引入了新的日期和时间API(
java.time
包),Instant
类用于表示时间轴上的一个瞬时点。它提供了一种更现代化的方式来处理日期和时间,相比于旧的Date
类和相关方法更加灵活和易于理解。
Instant.now()
方法获取当前的时间点,这个时间点是基于UTC(协调世界时)的。然后通过toEpochMilli()
方法将这个Instant
对象转换为从1970年1月1日00:00:00 UTC开始到当前时间所经过的毫秒数,这和System.currentTimeMillis()
的功能是类似的。- 示例代码如下:
import java.time.Instant;
public class Main {
public static void main(String[] args) {
long millis = Instant.now().toEpochMilli();
System.out.println(millis);
}
}
Calendar.getInstance().getTimeInMillis()
(Java早期版本)
Calendar
类是Java早期用于处理日期和时间的工具类。它提供了丰富的方法来获取和设置日期时间的各个字段,如年、月、日、时、分、秒等。
Calendar.getInstance()
方法获取一个Calendar
对象,这个对象默认使用系统的时区和语言环境设置。然后通过getTimeInMillis()
方法获取从1970年1月1日00:00:00 UTC开始到这个Calendar
对象所表示的时间所经过的毫秒数。不过,与System.currentTimeMillis()
相比,使用Calendar
来获取当前时间的毫秒数稍微复杂一些,因为Calendar
主要用于日期和时间的复杂操作,而获取毫秒数只是它的一个功能。- 示例代码如下:
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
long millis = Calendar.getInstance().getTimeInMillis();
System.out.println(millis);
}
}
new Date().getTime()
(Java早期版本)
Date
类是Java早期版本中用于处理日期和时间的类。它表示特定的瞬间,精确到毫秒。
- 当创建一个
Date
对象时,如果没有传入参数,它会默认表示当前日期和时间。然后通过getTime()
方法可以获取从1970年1月1日00:00:00 UTC开始到这个Date
对象所表示的时间所经过的毫秒数。不过,Date
类在Java 8之后被认为是一种旧的日期时间处理方式,新的java.time
包提供了更加强大和灵活的功能。 - 示例代码如下:
import java.util.Date;
public class Main {
public static void main(String[] args) {
long millis = new Date().getTime();
System.out.println(millis);
}
}