Java variable date
Bonjour,
Je souhaiterias savoir comment on fait pour déclarer une date en java ou bien transformer une chaîne de caractère jjmmaaaa ou j, m, a sont des entiers en date. Puis comparer deux dates.
Merci.
Je souhaiterias savoir comment on fait pour déclarer une date en java ou bien transformer une chaîne de caractère jjmmaaaa ou j, m, a sont des entiers en date. Puis comparer deux dates.
Merci.
Configuration: Windows Firefox 3.0.1
1 réponse
-
ContributeurBonjour Krakis,
Regarde du côté de la classe GregorianCalendar : https://docs.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html
Cordialement,-
-
Contributeur@krakisEuh... ok
La javadoc, c'est la bible du java : tout est écrit dedans.
En gros, c'est notamment écrit que pour créer une nouvelle date comme tu le demandes, il faut utiliser le constructeur :
public GregorianCalendar(int year,
int month,
int dayOfMonth)
Attention cependant, en ce qui concerne les mois, janvier équivaut à 0, février à 1, ..., décembre à 11.
Pour créer la date d'aujourd'hui par exemple, tu vas faire :
GregorianCalendar calendar = new GregorianCalendar(2009, 0, 7);
Une méthode plus propre (mais je ne pense pas qu'elle te convienne), c'est de la créer en utilisant les attributs statiques de la superclasse Calendar :
GregorianCalendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 7);
Pour comparer deux dates représentées sous cette forme, il faut, comme pour tous les objets en Java, utiliser la méthode equals() héritée de la classe Object :GregorianCalendar date1 = new GregorianCalendar(2009, 0, 7); GregorianCalendar date2 = new GregorianCalendar(2009, Calendar.JANUARY, 7); GregorianCalendar date3 = new GregorianCalendar(2050, Calendar.MARCH, 31); System.out.println(date1.equals(date2)); //affiche true System.out.println(date1.equals(date3)); //affiche false
Pour afficher une date humainement compréhensible (pratique pour débugger), tu peux utiliser la méthode suivante :GregorianCalendar date = new GregorianCalendar(2009, 0, 7); System.out.println(date.getTime().toString()); //affiche Wed Jan 07 00:00:00 CET 2009
En espérant avoir été un peu plus "précis".
Cordialement, -
@Marco la baraquec bon j'ai résolu mon problème, je me suis créer mon objet Date avec les arguments.
merci de votre aide. -
Contributeur@krakisBonjour,
Le constructeur de Date prenant l'année le mois et le jour en arguments est déprécié.
Tu aurais dû regarder mon exemple, ce n'est pas pour rien que je ne te l'ai pas conseillé.
Enfin, fais comme tu veux, c'est juste que c'est énervant de passer du temps pour rien.
Cordialement, -
@Marco la baraquemerci pour votre exemple, je pense qu'il me sera utile pour plus tard.
-