From 8679cfa32444d5211f251cd67704d4d5cd4d1dec Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Thu, 30 Jul 2026 11:03:33 +0800 Subject: [PATCH] =?UTF-8?q?s-day01-Instant=E7=B1=BB=20=EF=BC=88=E4=BB=A3?= =?UTF-8?q?=E6=9B=BFDate=EF=BC=89-=E6=97=B6=E9=97=B4=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/jdk8_date05/InstantDemo12.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 s-day01/src/com/inmind/jdk8_date05/InstantDemo12.java diff --git a/s-day01/src/com/inmind/jdk8_date05/InstantDemo12.java b/s-day01/src/com/inmind/jdk8_date05/InstantDemo12.java new file mode 100644 index 0000000..86eed9c --- /dev/null +++ b/s-day01/src/com/inmind/jdk8_date05/InstantDemo12.java @@ -0,0 +1,37 @@ +package com.inmind.jdk8_date05; + +import java.time.Instant; + +/** + * 代替Date类 + * 目标:掌握Instant的使用。 + * + * instant类:时间戳类------>秒,纳秒(毫秒+纳秒) + */ +public class InstantDemo12 { + public static void main(String[] args) { + //获取当前时间戳对象 + Instant now = Instant.now(); + System.out.println(now);//2026-07-30T02:54:10.265716800Z + //获取总秒数 + long epochSecond = now.getEpochSecond(); + System.out.println(epochSecond); + + //获取不够1秒的纳秒数 + long nano = now.getNano(); + System.out.println(nano); + + //加固定的纳秒值,然后返回一个新的instant对象 + Instant instant1 = now.plusNanos(100); + Instant instant2 = now.minusNanos(100); + System.out.println(instant1); + System.out.println(instant2); + + // Instant对象的作用:做代码的性能分析,或者记录用户的操作时间点 + Instant start = Instant.now(); + //代码的执行(50行代码的功能) + Instant end = Instant.now(); + //todo 之后我们会用间隔来计算时间差!!! + //传统的Date类,只能精确到毫秒,并且是可变对象,而Instant可以精确到纳秒,并且不可改变对象,推荐使用Instant,但一般LocalDateTime也够用了 + } +}