Comment comparer deux dates avec le temps en Java
J'ai deux Date
objets avec le format ci-dessous.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String matchDateTime = sdf.parse("2014-01-16T10:25:00");
Date matchDateTime = null;
try {
matchDateTime = sdf.parse(newMatchDateTimeString);
} catch (ParseException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
//get the current date
Date currenthDateTime = null;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date dt = new Date();
String currentDateTimeString = dateFormat.format(dt);
Log.v("CCCCCurrent DDDate String is:", "" + currentDateTimeString);
try {
currenthDateTime = sdf.parse(currentDateTimeString);
} catch (ParseException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
Maintenant je veux comparer ces deux dates, ainsi que avec le temps.
Comment dois-je comparer en Java.
Grâce
source d'informationauteur user2636874
Vous devez vous connecter pour publier un commentaire.
Depuis
Date
implémenteComparable<Date>
c'est aussi simple que:Comme le
Comparable
contrat le stipule, elle renvoie un entier négatif/zéro/entier positif sidate1
est considéré comme moins de/le meme que/plus grand quedate2
respectivement (c'est à dire, avant//après dans ce cas).Noter que
Date
a également.after()
et.before()
méthodes qui retournent des booléens à la place.Une Alternative....
Convertir des dates dans les millisecondes comme ci-dessous
Maintenant comparer les deux valeurs longues
Utilisation
compareTo()
Valeurs De Retour
0 si l'argument Date est égale à cette Date; une valeur inférieure à 0, si cette Date est antérieure à la Date de l'argument; et une valeur supérieure à 0 si cette Date est postérieure à la Date d'argument.
Comme
Une alternative est Joda-Time.
Utiliser DateTime