我正在使用这个获得实际日期:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Calendar cal = Calendar.getInstance();
String today = dateFormat.format(cal.getTime());
System.out.println(today);
Run Code Online (Sandbox Code Playgroud)
它打印今天的日期:2014年4月21日
然后,我想比较这个日期是否在两个日期之间:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
Date actualdate = sdf.parse(today);
Date date1 = sdf.parse("20.04.2014");
Date date2 = sdf.parse("23.04.2014");
Calendar actual = Calendar.getInstance();
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
actual.setTime(actualdate);
cal1.setTime(date1);
cal2.setTime(date2);
if(actual.after(date1) && actual.before(date2)) System.out.println("Yes");
else System.out.println("No");
Run Code Online (Sandbox Code Playgroud)
它始终打印否.问题是什么?当我将date1设置为21.04.2014并使用actual.equals(date1)时,它可以工作.但是当我在它之前或之后使用它时.谢谢