La classejava.util.Date
de Java était l’une des premières classes de date de Java. Aujourd’hui, la plupart des méthodes de cette classe sont obsolètes au profit de la classe java.util.Calendar
. Vous pouvez toujours utiliser la classejava.util.Date
pour représenter une date.
Voici comment instancier une instance de la classejava.util.Date
:
java.util.Date date = new java.util.Date();
Cette instance de la classe Date
contient l’heure actuelle comme date et heure.
Vous pouvez accéder à la date et à l’heure contenues dans une instance de la classejava.util.Date
à l’aide de la méthode getTime()
, comme ceci :
java.util.Date date = new java.util.Date();
long temps = date.getTime();
Vous pouvez également créer un java.util.Date
à partir d’un temps en millisecondes, comme ceci :
long maintenant = System.currentTimeMillis();
java.util.Date date = new java.util.Date(maintenant);
Comparer des dates Java.util.Date
Vous pouvez comparer une instance java.util.Date
car la classe implémente l’interface java.lang.Comparable
. Voici comment:
java.util.Date date1 = new java.util.Date();
java.util.Date date2 = new java.util.Date();
int comparaison = date1.compareTo(date2);
La comparaison suit les règles de l’interfaceComparable
, ce qui signifie que la methodecompareTo()
renvoie :
- Un entier supérieur à 0 si la date à laquelle la méthode est appelée est postérieure à la date passée en paramètre.
- Une valeur entière de 0 si les dates sont égales.
- Un entier inférieur à 0 si la date à laquelle la méthode est appelée est antérieure à la date passée en paramètre.
La classejava.util.Date
a également deux méthodes de raccourci pour faire des comparaisons. Ce sont le méthodes before()
et after()
. Voici deux exemples d’utilisation :
java.util.Date date1 = new java.util.Date();
java.util.Date date2 = new java.util.Date();
boolean avant = date1.before(date2);
boolean apres = date1.after (date2);
Obtenir l’année, le mois, le jour du mois, l’heure, etc.
Les méthodes pour obtenir l’année, le mois, le jour du mois, l’heure, etc. sont obsolètes. Apparemment, les algorithmes utilisés en interne n’étaient pas tout à fait corrects.
Si vous avez besoin d’obtenir ou de définir l’année, le mois, le jour du mois, etc., utilisez java.util.Calendar
à la place.