diff --git a/javaSE-day01/src/com/inmind/jdk8_time04/InstantDemo16.java b/javaSE-day01/src/com/inmind/jdk8_time04/InstantDemo16.java new file mode 100644 index 0000000..191ed11 --- /dev/null +++ b/javaSE-day01/src/com/inmind/jdk8_time04/InstantDemo16.java @@ -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(); + + //计算下对应代码执行所需的纳秒(间隔对象计算时间差) + + } +}