2013-04-10 54 views
5

Tôi muốn so sánh hai ngày và kiểm tra xem ngày đó đã hết hạn hay chưa.java So sánh hai ngày

Đây là mã tôi đã sử dụng:

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"); 
} 

Tôi muốn kiểm tra hai ngày nhưng không thành công.

Tôi cũng đã cố gắng để kiểm tra xem nó như thế:

if(date1 >= date2){ 
    System.out.println("Both are not equals"); 
} 

Nhưng nó không làm việc một trong hai.

+1

Bạn đã đọc javadoc? http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#compareTo%28java.util.Date%29 –

+0

yyyy-MM-dd hh: ss: ii không hợp lệ. http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – NickJ

+0

[REFERENCE] (http://www.mkyong.com/java/how-to-compare-dates- trong java /) – gks

Trả lời

46

lớp java.util.Date có trước và sau khi so sánh ngày.

Date date1 = new Date(); 
Date date2 = new Date(); 

if(date1.before(date2)){ 
    //Do Something 
} 

if(date1.after(date2)){ 
    //Do Something else 
} 
+0

Cách kiểm tra xem ** date1 ** có nhỏ hơn 10 phút ** ngày2 ** không? – tvshajeer

+0

Hi Làm thế nào để kiểm tra xem ngày là ít hơn bằng, tôi có thể kiểm tra ít hơn sử dụng trước khi api? – user1393608

2

Đọc JavaDocs.

Sử dụng phương pháp:

Date.compareTo() 
+5

tham chiếu bị thiếu – gks

+1

@TheUnlucky và bạn đã downvoted cho điều đó? Nice – Andremoniy

+0

No i didn down vote to you :) – gks

1

Bạn có thể sử dụng:

date1.before(date2); 

hay:

date1.after(date2); 
2

Bạn nên xem xét hàm compareTo của lớp Date.

JavaDoc

4

Hãy thử sử dụng Function.It này sẽ giúp bạn: -

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");  
    } 
} 
+0

Bạn chỉ cần chỉnh sửa phần ngày của mã, Rest all is Fine. – Tushar