Java variable date

krakis -  
 krakis -
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.
A voir également:

1 réponse

Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonjour Krakis,
Regarde du côté de la classe GregorianCalendar : https://docs.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html

Cordialement,
1
krakis
 
Je viens de débuter en programmation...
Si vous pouviez être plus précis dans vos explications futures, cela m'arrangerait.

Merci.
0
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329 > krakis
 
Euh... 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,
0
krakis > Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention  
 
c bon j'ai résolu mon problème, je me suis créer mon objet Date avec les arguments.

merci de votre aide.
0
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329 > krakis
 
Bonjour,
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,
0
krakis > Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention  
 
merci pour votre exemple, je pense qu'il me sera utile pour plus tard.
0