Instant 类 是Java8 中补充的一个 时间戳类。 相较于 System.currentTimeMillis()获取到【毫秒】,Instant 可以更为精确的获取到【纳秒】。
Instant 可以使用静态方法 now() 或者 of() 方法来创建一个实例对象。(案例代码中会有体现)
Instant 类的常用API 就是获取时间戳了 * Instant 类的 getEpochSecond() : 获取的是秒 * Instant 类的 toEpochMilli() : 获取的是毫秒,同 System.currentTimeMillis() * Instant 类的 getNano() : 获取的是纳秒,更精确了
同时,Instant 类还是 Java8 中 提供的新的 日期时间类LocalDateTime 与 原来的 java.util.Date 类之间转换的桥梁。
packagecom.northcastle.K_Date;importjava.time.Instant;importjava.time.LocalDateTime;importjava.time.ZoneId;importjava.time.ZonedDateTime;/** * Instant 类 :存储了一个从1970-01-01 00:00:00 以来的 秒 和 纳秒 数据 * 实际上就是一个时间戳类 * System.currentTimeMillis() : 获取的是毫秒 * * Instant 类的 getEpochSecond() : 获取的是秒 * Instant 类的 toEpochMilli() : 获取的是毫秒,同 System.currentTimeMillis() * Instant 类的 getNano() : 获取的是纳秒,更精确了 * */publicclassInstantTest{publicstaticvoidmain(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.指定时间戳创建 带时区的日期时间对象 ZoneDateTimeInstant instant02=Instant.ofEpochSecond(1647784071);// 2022-03-20 21:47:51ZonedDateTime zonedDateTime= instant02.atZone(ZoneId.of("Asia/Shanghai"));System.out.println("zonedDateTime = "+ zonedDateTime);System.out.println("===========================");// 4.指定时间戳创建 默认时区的日期时间对象 LocalDateTimeInstant instant03=Instant.ofEpochSecond(1647784071);// 2022-03-20 21:47:51LocalDateTime localDateTime=LocalDateTime.ofInstant(instant03,ZoneId.systemDefault());System.out.println("localDateTime = "+ localDateTime);System.out.println("===========================");}}
转换关系中涉及到了
LocalDate
、LocalDateTime
、ZoneDateTime
、Instant
、Date
之间的相互转换。
具体的转换操作可以参考博客 :Java8新特性 - LocalDate、LocalDateTime、ZoneDateTime 与 Date 的相互转换
此博客也为本人所做,详细整理了各种情况下的转换案例。
Congratulations!
You are one step closer to success!
热门文章
- 「11月29日」最高速度18.9M/S,2024年Clash Nyanpasu每天更新免费节点订阅链接
- 动物疫苗的正确使用方法有哪些种类(动物疫苗的正确使用方法有哪些种类图片)
- 「10月27日」最高速度22.3M/S,2024年Clash Nyanpasu每天更新免费节点订阅链接
- maven项目打包成war包并部署到tomcat上
- 宠物粮市场容量(中国宠物粮市场)
- 用指针低三位存放额外信息的优化方法 – 程鑫 _在线工具
- 宠物领养的英文怎么写(领养宠物的英语怎么说)
- 免费领养宠物正规网站平台有哪些好用(免费领养宠物的app有哪些)
- 青岛市动物医院(青岛市动物医院官网)
- 「1月5日」最高速度18.1M/S,2025年Clash Nyanpasu每天更新免费节点订阅链接