一.简述

在Java8中,我们可以使用以下类来计算日期时间差异:

1.Period
2.Duration
3.ChronoUnit

二.Period类

主要是Period类方法getYears(),getMonths()和getDays()来计算.

示例:

package insping;import java.time.LocalDate;
import java.time.Month;
import java.time.Period;public class Test {public static void main(String[] args) {LocalDate today = LocalDate.now();System.out.println("Today : " + today);LocalDate birthDate = LocalDate.of(1993, Month.OCTOBER, 19);System.out.println("BirthDate : " + birthDate);Period p = Period.between(birthDate, today);System.out.printf("年龄 : %d 年 %d 月 %d 日", p.getYears(), p.getMonths(), p.getDays());}
}

结果:

Today : 2017-06-16
BirthDate : 1993-10-19
年龄 : 23 年 7 月 28 日

三.Duration类

提供了使用基于时间的值(如秒,纳秒)测量时间量的方法。
示例:

package insping;import java.time.Duration;
import java.time.Instant;public class Test {public static void main(String[] args) {Instant inst1 = Instant.now();System.out.println("Inst1 : " + inst1);Instant inst2 = inst1.plus(Duration.ofSeconds(10));System.out.println("Inst2 : " + inst2);System.out.println("Difference in milliseconds : " + Duration.between(inst1, inst2).toMillis());System.out.println("Difference in seconds : " + Duration.between(inst1, inst2).getSeconds());}
}

结果:

Inst1 : 2017-06-16T07:46:45.085Z
Inst2 : 2017-06-16T07:46:55.085Z
Difference in milliseconds : 10000
Difference in seconds : 10

四.ChronoUnit类

ChronoUnit类可用于在单个时间单位内测量一段时间,例如天数或秒。
以下是使用between()方法来查找两个日期之间的区别的示例。

package insping;import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;public class Test {public static void main(String[] args) {LocalDate startDate = LocalDate.of(1993, Month.OCTOBER, 19);System.out.println("开始时间  : " + startDate);LocalDate endDate = LocalDate.of(2017, Month.JUNE, 16);System.out.println("结束时间 : " + endDate);long daysDiff = ChronoUnit.DAYS.between(startDate, endDate);System.out.println("两天之间的差在天数   : " + daysDiff);}
}

结果:

开始时间  : 1993-10-19
结束时间 : 2017-06-16
两天之间的差在天数   : 8641

T

Java8中计算日期时间差相关推荐

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

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

  2. java中日期计算时间差,用java计算日期/时间差

    用java计算日期/时间差 我也想计算两个日期之间的差额以小时/分钟/秒为单位. 我的代码有一个小问题,就是:String dateStart = "11/03/14 09:29:58&qu ...

  3. 日期计算excel_在Excel中计算日期范围内的项目

    日期计算excel If you have a list on your Excel worksheet, and a date in each row, you can use a formula ...

  4. 【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!

    写在前面 Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志 ...

  5. 静态方法:关于Java8中的日期时间API,你需要掌握这些!!

    Java8之前的日期和时间API,存在一些问题,比如:线程安全的问题,跨年的问题等等.这些问题都在Hava8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大.立志成为架构师 ...

  6. excel计算日期时间差,两个日期之间相差多少天?

    对于两个日期之间相差多少天,虽然在手机上有相关的软件,但是应该如何快速计算excel计算日期时间差呢?小编找到了两种方法,但是这两种方法都不算上第一天的天数的,所以需要从当天开始算起的话,就要加一了, ...

  7. excel计算日期时间差 8位数字转化成日期 excel输入天数计算日期 excel输入天数生成日期

    excel计算日期时间差 首先日期必须是这样的日期格式.如果是20190606这种非日期格式需要先转换成日期. 然后 直接 =D3-D2 就可以了 == 转化成日期  8位数字转化成日期 =DATE( ...

  8. Java8中使用以下类计算日期时间差:Period、Duration、ChronoUnit

    一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.ChronoUnit 二.Period类 主要是Period类方法getYears(),g ...

  9. java8中计算时间日期间隔几种常见方法介绍

    在平时的开发工作中免不了会进行时间日期间隔计算,下面简单介绍几个在java8中用于计算时间日期间隔的类和方法: 1.ChronoUnit类 使用ChronoUnit类可以快速方便的计算出两个时间日期之 ...

最新文章

  1. 分布式WebSocket架构
  2. 网络安全-防火墙与入侵检测系统
  3. 在WPF中处理Windows消息
  4. 哎!又要过年了,程序员最怕问到什么?
  5. loss function
  6. 任秀计算机音乐,重磅丨15家主流媒体聚焦全球音乐院校校长交流季
  7. Flutter实战一Flutter聊天应用(六)
  8. 剑指Offer之旋转数组中的最小数字(题8)
  9. Matlab:数模12-聚类分析
  10. 中国石油大学《测井解释与生产测井》第二阶段在线作业
  11. AcrelEMS-IDC综合能效管理系统 XXX数据中心案例分享
  12. 中国裁判文书网爬虫分析(2019年7月版)
  13. PCIe总线的参考时钟与同步时钟的差异
  14. Tungsten Fabric知识库丨更多组件内部探秘
  15. 江苏考生小高考计算机网,江苏小高考
  16. wamp5如何配置多个自定义域名访问本地不同的项目
  17. Eviews中实现ARIMA模型并进行预测
  18. ADB读取和备份安卓应用数据(无Root)
  19. Python学习日记07
  20. PyTorch中的topk函数详解

热门文章

  1. 1127:Password Passes
  2. 随机生成6位数、随机生成不重复的6位数
  3. html 答题一题一题展示,微信小程序实现随机答题时,点击下一题应该如何使他随机展示出来...
  4. 【学习笔记 · 具体数学】第一章 递归问题
  5. 第11.19节 Python 中正则表达式的扩展功能:前视断言和前视取反
  6. 我是如何实现前端H5第一个产品详情页实现的思路及步骤。
  7. Stream——对集合某个字段数据求和
  8. 在C#中进行Excel操作需要using Excel = Microsoft.Office.Interop.Excel;
  9. 安卓设备互相投屏_史上最牛!手机、电脑、电视相互投屏软件airlink
  10. 我们都是在黑暗海洋上行驶的孤独船只