📅  最后修改于: 2023-12-03 14:43:02.287000             🧑  作者: Mango
在Java 8中,新增了.time.Instant类,它代表了一个时间戳,即从1970-01-01T00:00:00Z开始计算的秒数(距离纪元的秒数)。
我们可以使用以下方法来创建Instant对象:
Instant instant = Instant.ofEpochSecond(1572915667);
Instant instant = Instant.ofEpochMilli(1572915667000L);
Instant instant = Instant.now();
Instant类提供了许多常用的方法,例如:
Instant instant = Instant.now().plus(Duration.ofHours(5));
Instant instant = Instant.now().minus(Duration.ofDays(2));
Instant instant1 = Instant.now();
Instant instant2 = Instant.now().plus(Duration.ofDays(1));
int result = instant1.compareTo(instant2);
Instant instant1 = Instant.now();
Instant instant2 = Instant.now().plus(Duration.ofDays(1));
boolean isAfter = instant1.isAfter(instant2);
boolean isBefore = instant1.isBefore(instant2);
Instant instant = Instant.now();
long millis = instant.toEpochMilli();
备注:上述方法中的Duration是代表时间段的类,可以通过它来指定小时、分钟、秒等单位的时间。
我们可以使用.toDate方法将Instant对象转换成Date对象
Date date = instant.toDate();
也可以使用Date的.toInstant方法将Date对象转换成Instant对象
Instant instant = date.toInstant();
Java的.time.Instant类在Java 8中提供了方便的时间戳表示方法,可以方便地进行时间的加减、比较和转换。在实际开发中,经常会用到Instant对象,学习并掌握此类的使用方法,对于提高我们程序的效率和准确性有很大帮助。