进阶day01-Instant类 (代替Date)

This commit is contained in:
2026-01-28 14:28:43 +08:00
parent bed9327923
commit 9cb24e809d

View File

@@ -0,0 +1,42 @@
package com.inmind.jdk8_time04;
import java.time.Clock;
import java.time.Instant;
import java.time.ZoneId;
/*
我们来学习Instant这个类。通过获取Instant的对象可以拿到世界标准时间的此刻的时间
该时间由两部分组成从1970-01-01 00:00:00 开始走到此刻的总秒数+不够1秒的纳秒数
注意Instant表示的是一个时间点它用来计算时间差针对同一个时间标准计算即可所以不需要区分时区
*/
public class InstantDemo16 {
public static void main(String[] args) {
// 1、创建Instant的对象获取此刻时间信息
Instant instant = Instant.now();//世界标准时间,不可改变
System.out.println(instant);
// 2、获取计算机基准时间开始到时间点的总秒数
long second = instant.getEpochSecond();
System.out.println(second);
// 3、不够1秒的纳秒数
int nano = instant.getNano();
System.out.println(nano);
//加固定的纳秒值然后返回一个新的instant对象
Instant instant1 = instant.plusNanos(100);
System.out.println(instant1.getNano());
// Instant对象的作用做代码的性能分析或者记录用户的操作时间点,精确到纳秒级别
//性能分析:一代功能代码执行消耗的时间
//要测试的代码执行之前获取纳秒级的时间戳
Instant begin = Instant.now();
System.out.println("要测试的代码执行!!!");
//要测试的代码执行之后获取纳秒级的时间戳
Instant end = Instant.now();
//计算下对应代码执行所需的纳秒(间隔对象计算时间差)
}
}