如何获取日历中的日期?
问题描述:
我想获取日历之间的日期,但由于某些原因,这不起作用。任何建议为什么?谢谢。如何获取日历中的日期?
public boolean verifyDate(Calendar cal) {
Calendar toDate = Calendar.getInstance();
toDate.setTime(passToDate);
Calendar fromDate = Calendar.getInstance();
fromDate.setTime(passFromDate);
return !((fromDate.after(cal) && toDate.before(cal)) || DateUtils.isSameDay(fromDate, cal) || DateUtils.isSameDay(toDate, cal));
}
答
fromDate.after(CAL) - 将返回true
如果fromDate
将是cal
,类似的事情与before
后。
如果你想检查卡是两个日期之间使用:
return cal.after(fromDate) && cal.before(toDate)
&& !(DateUtils.isSameDay(fromDate, cal) || DateUtils.isSameDay(toDate, cal));
+0
谢谢,这工作:) – Void
答
public static List<String> getDates(String startDate, String endDate)
throws ParseException, java.text.ParseException {
List<String> dateList = new ArrayList<String>();
if (startDate == null || startDate.equals("") || endDate == null || endDate.equals("")) {
return null;
}
Calendar calendar = new GregorianCalendar();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = dateFormat.parse(startDate);
Date d2 = dateFormat.parse(endDate);
Calendar calendar2 = new GregorianCalendar();
calendar2.setTime(d2);
calendar2.add(Calendar.DATE, 1);
calendar.setTime(d1);
while (calendar.getTime().before(calendar2.getTime()))
{
Date result = calendar.getTime();
dateList.add(dateFormat.format(result));
calendar.add(Calendar.DATE, 1);
}
return dateList;
}
+0
100%工作代码和可重复使用的代码 – Ganesh
你需要什么?两个日期之间的天数?或者验证日期?如果是,反对什么? –
我需要从开始到结束才能获得一系列选定的日期。我写了一个JUnit测试,开始日期和结束日期都很好,但是当我尝试获得中间日期时,它不起作用。例如,如果我选择7月20日至7月25日,它会考虑日期:20,21,22,23,24和25 – Void
我相信你有'fromDate'和'toDate'错误的方式。 –