在平时的开发工作中免不了会进行时间日期间隔计算,下面简单介绍几个在java8中用于计算时间日期间隔的类和方法:

1.ChronoUnit类

使用ChronoUnit类可以快速方便的计算出两个时间日期之间的间隔天数,示例代码:

 @Testpublic void testChronoUnit() {LocalDate startDate = LocalDate.of(2020, Month.APRIL, 6);System.out.println("开始时间:" + startDate);LocalDate endDate = LocalDate.now();System.out.println("结束时间:" + endDate);long days = ChronoUnit.DAYS.between(startDate, endDate); // 获取间隔天数System.out.println("间隔天数:" + days);}

运行结果:

开始时间:2020-04-06
结束时间:2020-06-10
间隔天数:65

2.Period类

使用Period类可以很方便的计算两个时间日期之间间隔的年月日,可以用作快速计算年龄,示例代码:

 @Testpublic void testPeriod() {LocalDate startDate = LocalDate.of(2020, Month.APRIL, 6);System.out.println("开始时间:" + startDate);LocalDate endDate = LocalDate.now();Period period = Period.between(startDate, endDate);System.out.println("结束时间:" + endDate);int years = period.getYears();// 获取间隔年数int months = period.getMonths();// 获取间隔的月数int days = period.getDays(); // 获取间隔的天数System.out.println("间隔时间--> " + years + "年" + months + "月" + days + "天");}

运行结果:

开始时间:2020-04-06
结束时间:2020-06-10
间隔时间--> 0年2月4天

3.Duration类

Duration类计算两个时间日期间隔的数据更为精准,可以计算到秒,甚至是纳秒,示例代码:

 @Testpublic void testDuration() {Instant startInstant = Instant.now();System.out.println("startInstant : " + startInstant);Instant endtInstant = startInstant.plus(Duration.ofSeconds(30)); // 在当前时间上加上30sSystem.out.println("endtInstant : " + endtInstant);Duration duration = Duration.between(startInstant, endtInstant);long days = duration.toDays();System.out.println("间隔天数:" + days);long seconds = duration.getSeconds();System.out.println("间隔秒数:" + seconds);long millis = duration.toMillis();System.out.println("间隔毫秒数:" + millis);long nanos = duration.toNanos();System.out.println("间隔纳秒数:" + nanos);}

运行结果:

startInstant : 2020-06-10T06:51:00.389Z
endtInstant : 2020-06-10T06:51:30.389Z
间隔天数:0
间隔秒数:30
间隔毫秒数:30000
间隔纳秒数:30000000000

java8中计算时间日期间隔几种常见方法介绍相关推荐

  1. Java 8中的时间日期库DateTime API及示例

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理 ...

  2. java8中计算2个日期时间之间相差多少月

    Java8 java8中计算2个日期时间之间相差多少月 方法一 (计算时不计算天) DateTimeFormatter sdf = DateTimeFormatter.ofPattern(" ...

  3. java 月份适配计算_Java8中的时间日期API这么好用,你居然还没有掌握?

    工作这么久了,对于Java中时间日期的操作一直很蛋疼,一会用Date,一会用Calendar或者LocalDateTime,始终没有认真总结过它们的联系与区别.迷迷糊糊用了好几年了,今天终于搞清楚了! ...

  4. Java 中验证时间格式的 4 种方法

    大家好,今天咱们来讲一下,Java 中如何检查一个字符串是否是合法的日期格式? 为什么要检查时间格式? 后端接口在接收数据的时候,都需要进行检查.检查全部通过后,才能够执行业务逻辑.对于时间格式,我们 ...

  5. Oracle 计算两日期间隔月数

    Oracle 计算两日期之间月数 实际应用中,有时候会计算两日期间隔天数.月数.如直接相减,可能会出问题,如: select 202110-202106 from dual; 结果为:4 看似正确,但 ...

  6. Json返回时间中出现乱码问题的两种解决方法

    Json返回时间中出现乱码问题的两种解决方法 参考文章: (1)Json返回时间中出现乱码问题的两种解决方法 (2)https://www.cnblogs.com/hanyinglong/archiv ...

  7. python日期格式转换_python中有关时间日期格式转换问题

    每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数.... 1.字符串转化为日期 str->date import datetime date_str ...

  8. Shell脚本中计算字符串长度的5种方法

    这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下 有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前S ...

  9. c语言编程时间,C语言中读取时间日期的基本方法

    C语言time()函数:获取当前时间(以秒数表示)头文件: #include 定义函数: time_t time(time_t *t); 函数说明:此函数会返回从公元 1970 年1 月1 日的UTC ...

最新文章

  1. IT员工的“脑出血”
  2. 关于Java实现去除连续空格的延伸
  3. ftp上传当天文件的方法_五种方法将文件上传到FTP服务器
  4. 2022.2.18自制玉米凉粉
  5. 回文数python_回文数 python
  6. ASP.NET Core loves JavaScript
  7. Docker容器网络
  8. 企业生产环境利用ATIES对服务器进行远程备份
  9. cr3格式是什么意思_尼康DX镜头是什么意思
  10. 微信接口_收货地址共享
  11. 第三届泰迪杯数据挖掘技能赛一等奖总结经验分享
  12. zabbix_proxy代理服务器搭建教程
  13. 11、安全网络架构和保护网络组件
  14. 干货教程:如何把一张照片用PS做成漫画风格(附最新视频教程)
  15. 沐阳JP1081B USB转网口 内核选项
  16. 拼图游戏(8 puzzle)
  17. 软件项目管理:教你如何做好团队管理
  18. python列表去掉逗号_python – Scrapy crawler,从字符串中删除逗号
  19. 3D Game Creation - Isometric Game
  20. Python整数进制间转换

热门文章

  1. QuickTime Player解码器
  2. java备忘录源码下载_备忘录/java - WEB源码|JSP源码/Java|源代码 - 源码中国
  3. 工业相机和普通相机的区别详解_工业相机与普通相机区别
  4. 辞退了一位简历造假的程序员
  5. Unity3D 游戏贴图 法线贴图 漫反射贴图 高光贴图
  6. ZoomIt 屏幕缩放演示软件 使用
  7. 天宝R10不开机/天宝接收机不进系统/天宝R10的常见故障
  8. 真正删除52好压的办法(亲测有效)
  9. XP盗版的来龙去脉及微软承认的完美盗版方式
  10. LCDet Low-Complexity Fully-Convolutional Neural Networks for Object Detection in Embedded Systems