Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过增加日期来比较Java中的两个日期?_Java_Datetime - Fatal编程技术网

如何通过增加日期来比较Java中的两个日期?

如何通过增加日期来比较Java中的两个日期?,java,datetime,Java,Datetime,如何通过增加日期来比较Java中的两个日期 String dt=“2008-01-01”;//开始日期 字符串et=“2008-01-10”; SimpleDataFormat sdf=新SimpleDataFormat(“yyyy-MM-dd”); Calendar c=Calendar.getInstance(); 日期startDate=sdf.parse(dt); Date endDate=sdf.parse(et); 生效日期; //现在是新的日期 做 { System.out.pri

如何通过增加日期来比较Java中的两个日期

String dt=“2008-01-01”;//开始日期
字符串et=“2008-01-10”;
SimpleDataFormat sdf=新SimpleDataFormat(“yyyy-MM-dd”);
Calendar c=Calendar.getInstance();
日期startDate=sdf.parse(dt);
Date endDate=sdf.parse(et);
生效日期;
//现在是新的日期
做
{
System.out.println(“嘿,我叫……”);
c、 设置时间(sdf.parse(dt));
c、 添加(Calendar.DATE,1);//要添加的天数
dt=sdf.format(c.getTime());
系统输出打印项次(“增量日期”+dt);
incDate=sdf.parse(dt);
}
而(endDate.compareTo(incDate)>=0);

首先,您应该开始使用@TomStroemer指出的较新类

我想你想知道这两个日期之间的天数

LocalDate startDate = LocalDate.parse("2008-01-01");
LocalDate endDate = LocalDate.parse("2008-01-10");

Period period = Period.between(startDate, endDate);

System.out.println(period.getDays());
应该打印8,因为间隔时间为8天。我还没有测试过那个代码

见以下文件: 期间: 本地日期:


并提供更多详细信息。

您的问题是什么?首先,您应该使用新的日期类,如LocalDate,而不是旧的日期/日历类。其次,您总是在循环中设置c和incDate。我想你应该在循环外设置一次,然后进行比较。无论如何,你应该在这里提供你真正想做的事情?请解释你想做什么。不知道你在做什么和为什么,只是为了比较日期?这是未来痛苦的道路。改用LocaDateTime类。