我有两个日期:
Start Date: 2017-01-15
End Date: 2017-05-27
Run Code Online (Sandbox Code Playgroud)
现在我想找到这两个日期之间的整月。所以结果应该是:
Feb-2017
Mar-2017
Apr-2017
Run Code Online (Sandbox Code Playgroud)
一月不包括在结果中,因为开始日期从月中开始,五月不包括在结果中,因为结束日期不包括整个五月。
我怎样才能用 Java 实现这一点?
我试过做这样的事情:
String date1 = "2015-01-15";
String date2 = "2015-05-27";
DateFormat formater1 = new SimpleDateFormat("MMM-yyyy");
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
try {
startCalendar.setTime(formater.parse(date1));
endCalendar.setTime(formater.parse(date2));
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("startDate:" + startCalendar.getTime());
System.out.println("endCalendar:" + endCalendar.getTime());
while (startCalendar.before(endCalendar)) {
// add one month to date per loop
String date = formater1.format(startCalendar.getTime()).toUpperCase();
System.out.println(date);
startCalendar.add(Calendar.MONTH, 1);
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从结果中排除 Jan …