繁体   English   中英

如何使用 java 从带有日期列表的数组中检查缺失的日期

[英]how to check the missing date from array with list of dates using java

我有一个日期数组,从今天起 15 天后我想验证丢失的日期并尝试打印它......

我正在为前端chartjs条形图构建一个API,如果没有特定日期的记录或缺少某些日期,我将尝试从今天开始获取15天的记录数我将在记录中添加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);
        }
    }
}

评论日期后,一切都变得错误

我得到的 OUTPUT

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 结束

您应该更改这部分代码

if (!checkDate.toString().equals(apiObj.get(i))) {
            System.out.println("Missing Date " + checkDate);
   }

if (!checkDate.toString().equals(apiObj.get(i))) {
            System.out.println("Missing Date " + checkDate);
            i--;
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM