2013-04-10 34 views
5

Voglio confrontare due date e controllare se la data è scaduta o meno.java Confronta due date

Ecco il codice che ho usato:

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

voglio controllare le due date, ma senza successo.

ho anche provato a controllare così:

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

Ma non funziona neanche.

+1

Hai letto il javadoc? http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#compareTo%28java.util.Date%29 –

+0

aaaa-MM-gg hh: ss: ii non è valido. http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – NickJ

+0

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

risposta

46

La classe java.util.Date ha prima e dopo il metodo per confrontare le date.

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

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

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

Come verificare se ** data1 ** è 10 minuti inferiore a ** date2 **? – tvshajeer

+0

Ciao Come verificare se la data è minore di uguale a, posso controllare meno dell'uso prima di API? – user1393608

2

Leggi JavaDocs.

Utilizzare il metodo:

Date.compareTo() 
+5

manca il riferimento – gks

+1

@ TheUnlucky e non hai downvoted per quello? Nice – Andremoniy

+0

No, non ho votato :) – gks

1

È possibile utilizzare:

date1.before(date2); 

o:

date1.after(date2); 
2

Si dovrebbe guardare la funzione Confronto per Data.

JavaDoc

4

Provare a utilizzare questa Function.It vi aiuterà a: -

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

Devi solo modificare la parte della data del codice, Rest all is fine. – Tushar