gpt4 book ai didi

java - 以毫秒为单位比较日期

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:47 25 4
gpt4 key购买 nike

假设我有两个日期字段 receiveDate 和 currentDate。我想检查 receiveDate 是否比 currentDate 早 5 天。我所做的是以毫秒为单位转换日期,然后与 5 进行比较。有没有更好的方法呢?如果是这样,我的如何以及为什么更好?谢谢。

我写的方法-

private static final double DAY_IN_MILLISECONDS = 86400000;

// Param date is the receivedDate
private long getDaysOld(final Date date) {


Calendar suppliedDate = Calendar.getInstance();
suppliedDate.setTime(date);
Calendar today = Calendar.getInstance();
today.setTime(currentDate);

double ageInMillis = (today.getTimeInMillis() - suppliedDate.getTimeInMillis());
double tempDouble;

if(isEqual(ageInMillis, 0.00) || isGreaterThan(Math.abs(ageInMillis), DAY_IN_MILLISECONDS)) {
tempDouble = ageInMillis / DAY_IN_MILLISECONDS;
} else {
tempDouble = DAY_IN_MILLISECONDS / ageInMillis;
}

long ageInDays = Math.round(tempDouble);

return ageInDays;


}

然后我有类似的东西-

long daysOld = getDaysOld(receivedDate) ;   
if(daysOld <= 5) {
.... some business code ....
}

最佳答案

尝试joda-time .使用 native API 的时间计算充其量总是令人尴尬的。 Joda 时间使这种类型的计算 MUUUCH 变得更加简单,并且还能很好地处理时区。

关于java - 以毫秒为单位比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4025832/

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