java比较两个日期
我想比较两个日期并检查日期是否已过期。
这是我使用的代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:ss:ii"); Date date1 = sdf.parse("20012-10-4 10:15:25"); Date date2 = sdf.parse("2013-10-4 10:15:25"); if(date1.equals(date12)){ System.out.println("Both are equals"); }
我想查看两个日期,但没有成功。
我也试着这样检查:
if(date1 >= date2){ System.out.println("Both are not equals"); }
但它也没有用。
java.util.Date类有前后方法来比较日期。
Date date1 = new Date(); Date date2 = new Date(); if(date1.before(date2)){ //Do Something } if(date1.after(date2)){ //Do Something else }
尝试使用此function。它会帮助你: –
public class Main { public static void main(String args[]) { Date today=new Date(); Date myDate=new Date(today.getYear(),today.getMonth()-1,today.getDay()); System.out.println("My Date is"+myDate); System.out.println("Today Date is"+today); if(today.compareTo(myDate)<0) System.out.println("Today Date is Lesser than my Date"); else if(today.compareTo(myDate)>0) System.out.println("Today Date is Greater than my date"); else System.out.println("Both Dates are equal"); } }
您应该查看Date类的compareTo函数。
的JavaDoc
阅读JavaDocs
。
使用方法:
Date.compareTo()
您可以使用:
date1.before(date2);
要么:
date1.after(date2);
你等于(对象o)比较是正确的。
但是,您应该在(日期d)之后和之前(日期d)使用日期比较。