如何通过增加日期来比较Java中的两个日期?
如何通过增加日期来比较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
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类。