Java8中Instant时间戳类简介说明
下文笔者讲述Instant时间戳类简介说明
Instant类和LocalDateTime之间可实现互相转换
Instant类
Java8中补充的一个时间戳类
System.currentTimeMillis():
获取到毫秒
Instant:
可以更为精确的获取到【纳秒】
Instant:
可使用静态方法now()或of()方法来创建一个实例对象
Instant类中常用的API
Instant 类:
getEpochSecond():获取秒
Instant 类:
toEpochMilli():获取毫秒
Instant 类:
getNano():获取纳秒
例:Instant类和LocalDateTime之间可实现互相转换
package com.java265;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class InstantTest {
public static void main(String[] args) {
//1.获取当前时间的Instant对象
Instant now01 = Instant.now();
System.out.println(now01);
System.out.println("纪元秒 : "+now01.getEpochSecond());
System.out.println("时间戳 : "+System.currentTimeMillis());
System.out.println("毫 秒 : "+now01.toEpochMilli());
System.out.println("纳 秒 : "+now01.getNano());
System.out.println("===========================");
// 2.获取指定时间的Instant对象
Instant instant01 = Instant.ofEpochSecond(100);
System.out.println(instant01);
System.out.println("纪元秒 : "+instant01.getEpochSecond());
System.out.println("毫 秒 : "+instant01.toEpochMilli());
System.out.println("纳 秒 : "+instant01.getNano());
System.out.println("===========================");
//3.指定时间戳创建 带时区的日期时间对象 ZoneDateTime
Instant instant02 = Instant.ofEpochSecond(1647784071); // 2022-03-20 21:47:51
ZonedDateTime zonedDateTime = instant02.atZone(ZoneId.of("Asia/Shanghai"));
System.out.println("zonedDateTime = " + zonedDateTime);
System.out.println("===========================");
// 4.指定时间戳创建 默认时区的日期时间对象 LocalDateTime
Instant instant03 = Instant.ofEpochSecond(1647784071); // 2022-03-20 21:47:51
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant03, ZoneId.systemDefault());
System.out.println("localDateTime = " + localDateTime);
System.out.println("===========================");
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


