gpt4 book ai didi

java - 如何在Java中获取当前日期和其他日期(java.util.Date)之间的差异(以年为单位)

转载 作者:行者123 更新时间:2023-12-01 06:44:05 25 4
gpt4 key购买 nike

如何在Java中获取当前日期和其他日期(java.util.Date)之间的差异(以年为单位)

我有传入的 java.util.Date 对象,我需要获取它们之间有多少整年。

我尝试了 Joda 的时间周期,但我必须创建 Joda 的时间对象。还有其他方法可以计算这个差异吗?获取毫秒并尝试将其转换为年的方法不计算闰年。

最佳答案

由于 Date 类中的大多数方法均已弃用,因此您可以使用 java.util.Calendar .

Calendar firstCalendar = Calendar.getInstance();
firstCalendar.setTime(firstDate); //set the time as the first java.util.Date

Calendar secondCalendar = Calender.getInstance();
secondCalendar.setTime(secondDate); //set the time as the second java.util.Date

int year = Calendar.YEAR;
int month = Calendar.MONTH;
int difference = secondCalendar.get(year) - firstCalendar.get(year);
if (difference > 0 &&
(secondCalendar.get(month) < firstCalendar.get(month))) {
difference--;
}

通过 if 语句,我检查是否有像 2011 年 6 月2012 年 3 月 这样的日期(其中全年差异将为 0)。当然,我假设 secondDate firstDate 之后。

关于java - 如何在Java中获取当前日期和其他日期(java.util.Date)之间的差异(以年为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com