gpt4 book ai didi

Java - 一周内的 boolean 值

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

我正在构建一个应用程序,需要获取本月截止日期(用于填写表单)的用户列表,然后将这些用户过滤为截止日期在一周内的用户。

所以

if(isWithinAWeek(dueData)){
//alarm - 1
}
else{
//alarm - 0
}

--- 我需要帮助确保此 boolean isWithinAWeek 方法正确

public static Boolean isWithinAWeek(Date date1){
Date c1 = setTimeInDays(date1, 7);
if(c1.after(date1)){
return true;
}
return false;
}


public static Date setTimeInDays(Date startingTime, Integer days){
Calendar c = Calendar.getInstance();
c.setTime(startingTime);
c.add(Calendar.DATE, days);//a day in the future or past
return c.getTime();
}

最佳答案

您所写的条件将始终为真。如果我简化一下就更容易看出:

public static boolean isWithinAWeek(Date date) {
return setTimeInDays(date, 7).after(date);
}

这与你的相同,只是更短。正如您所看到的,它实际上是在说“如果日期 + 7 天在日期之后,则返回 true”。这始终是正确的。

您想要检查现在 + 7 天是否在日期之后,不是日期 + 7 天:

public static boolean isWithinAWeek(Date date) {
return setTimeInDays(new Date(), 7).after(date);
}

我还将返回类型从 Boolean 更改为 boolean,因为该值永远不会为空。我建议将 setTimeInDays 重命名为 plusDays,因为这将类似于最新版本的 Java 中的现代日期 API(这样当你学习它时,它就会看起来很熟悉)。

关于Java - 一周内的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46627343/

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