【发布时间】:2021-04-02 15:13:30
【问题描述】:
我有一个日期数组,从今天起 15 天后我想验证丢失的日期并尝试打印它...
我正在为前端 chartjs 条形图构建一个 API,如果没有特定日期的记录或缺少某些日期,我将在记录中添加 0正在尝试打印丢失的日期
到目前为止我做过的事情
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class Dummy {
public static void main(String args[]) {
LocalDate Today = LocalDate.now();
LocalDate checkDate = Today.minusDays(14);
List<String> apiObj = new ArrayList<>();
apiObj.add("2020-12-10");
apiObj.add("2020-12-11");
apiObj.add("2020-12-12");
apiObj.add("2020-12-13");
apiObj.add("2020-12-14");
// apiObj.add("2020-12-15");
apiObj.add("2020-12-16");
apiObj.add("2020-12-17");
apiObj.add("2020-12-18");
apiObj.add("2020-12-19");
apiObj.add("2020-12-20");
apiObj.add("2020-12-21");
apiObj.add("2020-12-22");
apiObj.add("2020-12-23");
apiObj.add("2020-12-24");
for (int i = 0; i < apiObj.size(); i++) {
System.out.println("API DATA : " + apiObj.get(i) + " Check Date : " + checkDate);
System.out.println("Logic Check : " + checkDate.toString().equals(apiObj.get(i)));
if (!checkDate.toString().equals(apiObj.get(i))) {
System.out.println("Missing Date " + checkDate);
}
checkDate = checkDate.plusDays(1);
}
}
}
在评论日期之后一切都变得错误
我得到的输出
API DATA : 2020-12-10 Check Date : 2020-12-10
Logic Check : true
API DATA : 2020-12-11 Check Date : 2020-12-11
Logic Check : true
API DATA : 2020-12-12 Check Date : 2020-12-12
Logic Check : true
API DATA : 2020-12-13 Check Date : 2020-12-13
Logic Check : true
API DATA : 2020-12-14 Check Date : 2020-12-14
Logic Check : true
API DATA : 2020-12-16 Check Date : 2020-12-15
Logic Check : false
Missing Date 2020-12-15
API DATA : 2020-12-17 Check Date : 2020-12-16
Logic Check : false
Missing Date 2020-12-16
API DATA : 2020-12-18 Check Date : 2020-12-17
Logic Check : false
Missing Date 2020-12-17
API DATA : 2020-12-19 Check Date : 2020-12-18
Logic Check : false
Missing Date 2020-12-18
API DATA : 2020-12-20 Check Date : 2020-12-19
Logic Check : false
Missing Date 2020-12-19
API DATA : 2020-12-21 Check Date : 2020-12-20
Logic Check : false
Missing Date 2020-12-20
API DATA : 2020-12-22 Check Date : 2020-12-21
Logic Check : false
Missing Date 2020-12-21
API DATA : 2020-12-23 Check Date : 2020-12-22
Logic Check : false
Missing Date 2020-12-22
API DATA : 2020-12-24 Check Date : 2020-12-23
Logic Check : false
Missing Date 2020-12-23
进程以退出代码 0 结束
【问题讨论】:
-
有什么问题?代码似乎应该完成这项工作。你得到什么错误/你得到什么意外输出?
-
在评论日期之后,一切都变得错误 API DATA : 2020-12-14 检查日期 : 2020-12-14 逻辑检查 : true API DATA : 2020-12-16 检查日期 : 2020-12 -15 逻辑检查:假 缺少日期 2020-12-15 API 数据:2020-12-17 检查日期:2020-12-16 逻辑检查:假 缺少日期 2020-12-16 API 数据:2020-12-18 检查日期: 2020-12-17 逻辑检查 : false 缺少日期 2020-12-17
-
鉴于您每次在循环中都在 checkDate 中添加一天,您希望它在丢失的一天之后如何匹配?
-
这就是获得解决方案的方法
标签: java arrays spring-boot validation collections