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("==========================="); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。