Java jsr310 : difference between dates and times

标签 java datetime date jsr310

有大量 SO 问题涉及计算 Java 中两个日期或两次之间的差异。许多答案指出了核心 Java Date 类的问题,并建议使用 Jodatime,但是据我所知,没有人建议如何使用 jsr310 来做到这一点。

那么jsr310中有没有计算两个日期或者两次时间的差值的方法呢?


作为引用,以下问题处理此问题:

在核心 Java 中:

在 Jodatime 中:

最佳答案

回答最终的 JDK1.8 版本。

有两个量级 - DurationPeriod。 Duration 是基于时间的 (nano),Period 是基于日期的(年/月/日)。

相同类型的两个时间对象之间的时间量可以通过以下两种方式之一轻松计算(我更喜欢第一种):

long days = ChronoUnit.DAYS.between(start, end);
long days = start.until(end, ChronoUnit.DAYS);

相同类型的两个时间对象之间的Duration可以计算如下:

Duration d = Duration.between(start, end);

两个LocalDate对象之间的Period可以计算如下:

Period p = Period.between(start, end);

关于Java jsr310 : difference between dates and times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187639/

相关文章:

php - MySQL 双日期转换时遇到问题

python - Pandas 填充日期

java - 吃 bean 游戏 KeyListener

java - GWT - 显示日期递减一天

检测 data.frame 中的列是否为 .POSIXct 的可靠方法

sql - 计算日期之间的差异 - Postgres

PHP date() - 插入 MySQL 数据库

javascript - 如何在js中隐藏多余的法语内容?

java - 如何有选择地消费 Tibco 队列中的消息

java - 每天运行模型 8 小时,持续 3 天 (AnyLogic)