进阶day01-Instant类 (代替Date)
This commit is contained in:
42
javaSE-day01/src/com/inmind/jdk8_time04/InstantDemo16.java
Normal file
42
javaSE-day01/src/com/inmind/jdk8_time04/InstantDemo16.java
Normal 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();
|
||||||
|
|
||||||
|
//计算下对应代码执行所需的纳秒(间隔对象计算时间差)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user