Java获取两个日期之间的天数[重复]
Posted
技术标签:
【中文标题】Java获取两个日期之间的天数[重复]【英文标题】:Java getting number of days between two dates [duplicate] 【发布时间】:2021-03-02 11:46:35 【问题描述】:我正在尝试计算两个日期之间的天数。 尽管我发现了很多类似的问题,但我就是想不出一个解决方案。
Date lastpickup = (Date) section_userdata.get("lastpickup");
Date today = new Date();
Instant instant_lastpickup = lastpickup.toInstant().truncatedTo(ChronoUnit.DAYS);
Instant instant_today = today.toInstant().truncatedTo(ChronoUnit.DAYS);
这是我目前的代码。 日期是从配置中读取的,应与实际日期进行比较。 使用我拥有的代码,我可以确定日期是否相同,但我想知道这两者之间的天数(理想情况下是整数)。
我想查看日历天数,而不是 24 小时节奏。
【问题讨论】:
嗯,结果将取决于时区。您要在哪个时区进行操作? 仅供参考,切勿使用java.util.Date
或java.sql.Date
。两者都是遗留类,多年前被 JSR 310 中定义的现代 java.time 类所取代。分别被 java.time.Instant
和 java.time.LocalDate
取代。
【参考方案1】:
嗯,比我想象的要容易得多。
这是我的解决方案
long daysCount = ChronoUnit.DAYS.between(instant_lastpickup, instant_today);
【讨论】:
您的代码忽略了时区的关键问题。以上是关于Java获取两个日期之间的天数[重复]的主要内容,如果未能解决你的问题,请参考以下文章