我接受两个日期作为命令行参数,并希望检查第一个日期是否在第二个日期之后。日期的格式为"dd/MM/yyy“。例如: java dateCheck 01/01/2014 15/03/2014我还需要检查硬编码到程序中的第三个日期是否在第二个日期之前。
发布于 2014-03-15 22:01:01
try {
System.out.println("Enter first date : (dd/MM/yyyy)");
BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in));
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date1 = sdf.parse(bufferRead.readLine());
System.out.println("Enter second date : (dd/MM/yyyy)");
Date date2 = sdf.parse(bufferRead.readLine());
System.out.println(date1 + "\n" + date2);
if (date1.after(date2)) {
System.out.println("Date1 is after Date2");
} else {
System.out.println("Date2 is after Date1");
}
} catch (IOException e) {
e.printStackTrace();
}发布于 2014-03-15 21:35:11
要比较两个日期:
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyy");
Date firstDate = sdf.parse("01/01/2014");
Date secondDate = sdf.parse("15/03/2014");
if(firstDate.before(secondDate)){
System.out.println("firstDate < secondDate");
}
else if(firstDate.after(secondDate)){
System.out.println("firstDate > secondDate");
}
else if(firstDate.equals(secondDate)){
System.out.println("firstDate = secondDate");
}发布于 2017-05-09 14:52:27
使用SimpleDateFormat将字符串转换为日期。
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date1 = sdf.parse("01/01/2017");Date有before和after方法,可以使用compared to each other,如下所示:
if(todayDate.after(historyDate) && todayDate.before(futureDate)) {
// In between
}要进行包含性比较:
if(!historyDate.after(todayDate) && !futureDate.before(todayDate)) {
/* historyDate <= todayDate <= futureDate */
}https://stackoverflow.com/questions/22424360
复制相似问题