我想获得给定的两个日期和天之间的日期,例如打印日期
日期范围20/04/2014 - 210/05/2015
这些日期之间例如,我应该在周一至周五之间打印日期。这里是我开发的代码:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date startDate = (Date) formatter.parse("20/04/2014");
Date endDate = (Date) formatter.parse("10/05/2014");
Calendar cal = Calendar.getInstance();
Calendar cal1 = Calendar.getInstance();
cal.setTime(startDate);
cal1.setTime(endDate);
while (!cal.equals(cal1)) {
cal.add(Calendar.DATE, 1);
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY|| cal1.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
System.out.println(formatter.format(cal.getTime()));
System.out.println(formatter.format(cal1.getTime()));
}
//System.out.println(formatter.format(cal.getTime()));
}
什么我应该看到的是:
21/04/2014(Monday)
22/04/2014(Tuesday)
23/04/2014(Wednesday)
24/04/2014(Thursday)
25/04/2014(Friday)
28/04/2014(Monday)
29/04/2014(Tuesday)
30/04/2014(Wednesday)
01/05/2014(Thursday)
02/05/2014(Friday)
05/05/2014(Monday)
06/05/2014(Tuesday)
07/05/2014(Wednesday)
08/05/2014(Thursday)
09/05/2014(Friday)
,但我所得到的是:
21/04/2014
20/05/2014
28/04/2014
20/05/2014
05/05/2014
20/05/2014
12/05/2014
20/05/2014
19/05/2014
20/05/2014
哪里是你的代码的一部分你希望打印当天的名字?周一或周五支票的目的是什么?为什么每次迭代都要做两个printlns? –
嗨,奥利我期望在打印行中看到while循环中的代码。目的是我只需要列出每个星期一到星期五之间的日期。就像您在预定会议时使用ms outlook一样。 –