web-dev-qa-db-fra.com

java Comparez deux dates

Je veux comparer deux dates et vérifier si la date a expiré ou non.

Voici le code que j'ai utilisé:

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

Je veux vérifier les deux dates mais sans succès.

J'ai aussi essayé de le vérifier comme ça:

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

Mais ça ne marche pas non plus.

5
user2050308

La classe Java.util.Date a une méthode avant et après pour comparer les dates.

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

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

if(date1.after(date2)){
    //Do Something else
}
47
prashant

Essayez d'utiliser cette fonction.Il vous aidera à: - 

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

Lire JavaDocs.

Méthode d'utilisation:

 Date.compareTo()
2
Andremoniy

Vous devriez regarder la fonction compareTo de la classe Date.

JavaDoc

2
Himanshu Bhardwaj

Vous pouvez utiliser:

date1.before(date2);

ou:

date1.after(date2);
1
BobTheBuilder

Vous est égal à (Objet o) la comparaison est correcte.

Cependant, vous devez utiliser après (Date d) et avant (Date d) pour la comparaison de dates.

1
Jean Logeart