2012-10-02 5 views
-3

J'ai une date [format - jj/mm/aaaa]. Je dois le comparer avec la date actuelle afin que je puisse exécuter cette logiqueDate de comparaison en Java

if(end date is in the future) { 
//logic 
} else { 
//logic 
} 

Pouvons-nous faire en JAVA?

+1

Cela peut vous aider: « Comparer les dates en Java »: http://stackoverflow.com/questions/2592501/compare-dates-in-java – Alex

+2

Il y a une quantité infinie de matériel à propos de ce sujet. – keyser

+1

Cette question ne montre aucun effort de recherche. Du tout. –

Répondre

1

Il semblerait que vous commenciez avec une chaîne de caractères afin que vous puissiez utiliser SimpleDateFormat.parse pour convertir la chaîne en date.

Ensuite, vous pouvez utiliser la fonction compareTo sur la classe Date pour voir si elle est dans le passé ou non.

Quelque chose comme ci-dessous (je nai ... compilé cette)

if (new SimpleDateFormat("dd/MM/yyy").parse(yourSring).compareTo(new Date()) > 0) { 
    ... 
} 

Si possible, je serais toujours utiliser JodaTime pensé au lieu de la date et les classes Java Calendrier. C'est beaucoup plus facile à utiliser.

+0

Vous pouvez utiliser Date # après (Date) au lieu de compareTo pour raccourcir quelque peu le code. Et pourquoi "DateTime.parse (s, DateTimeFormat.forPattern (" jj/MM/aaaa ")). IsAfterNow()" avec Joda (ou est-il possible de faire la même chose avec un code plus court?) Beaucoup plus facile que "nouveau SimpleDateFormat ("jj/mm/aaaa"). parse (s) .after (new Date()) "avec l'API intégrée? – jarnbjo

-1
if(endDate.after(new Date())){} 

comparez avec une nouvelle date, il sera créé une date à la date de maintenant.

0

En général, utilisez Joda Time:

DateTime.parse("...").isAfterNow(); 

Vous voudrez probablement passer un DateTimeFormatter approprié, tel que DateTimeFormat.forPattern("d/M/y"), comme second paramètre.

0

utiliser la méthode de comparaison pour comparer deux dates. chèque ici à Date API

if(curreDate.compareTo(thisdate)>0) { 
// do your logic 
}