Entrer date sous la forme jj/mm/aaaa dans java

Fermé
mimo2222 Messages postés 19 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 9 mars 2014 - 8 déc. 2013 à 18:10
mimo2222 Messages postés 19 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 9 mars 2014 - 8 déc. 2013 à 19:28
Bonjour, voila j aimerais creer une classe Commande avec l'attribut datecommande de type Date qui sera saisie dans le test sous la forme 22/03/1992 par exemple
mais voila ce que ca me donne quand j execute le programme "Sun Oct 03 00:00:00 WET 1993"

comment est ce que je pourrais faire pour avoir la date sous cette forme??



import java.util.*;
public class Commande{

public int numcommande;
public Date datecommande=new Date();
public String nomfournisseur;

public Commande(int numcommande,Date datecommande,String nomfournisseur){
	
	this.numcommande=numcommande;
	this.datecommande=datecommande;
	this.nomfournisseur=nomfournisseur;}







import java.util.*;
public class Testcommande {

	public static void main(String[] args) {
	Commande c1=new Commande(1,new Date("22/03/1992"),"lina");
A voir également:

2 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
8 déc. 2013 à 18:38
Java utilise souvent les convention en anglais, par exemple pour les dates le mois se met avant le jour, du coup si tu veux le 22 mars 1992 il faut écrire "03/22/1992".
Cependant l'utilisation du constructeur Date(String) est déprécié, il ne faudrait plus l'utiliser, en remplacement tu as des classes dédiées au calcul sur les dates comme GregorianCalendar :

GregorianCalendar gc = new GregorianCalendar(1990, 2, 22);
Date date = gc.getTime();
System.out.printf("%1$td/%1$tm/%1$tY",date);
0
mimo2222 Messages postés 19 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 9 mars 2014 2
8 déc. 2013 à 18:51
je n ai pas tres bien comprit :s faut ajouter ce code dans la classe commande ou dans la classe test?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
8 déc. 2013 à 18:59
Tu parlais d'un problème sur le 22/03/1992, or dans ton code il apparaît dans la classe de test :
Commande c1=new Commande(1,new Date("22/03/1992"),"lina");

Ce code ne fonctionne pas comme tu veux vu que le date sera le 3/10/1993 et non le 22/3/1992.
Du coup tu pourrais faire comme ça à la place :

Date date = new GregorianCalendar(1990,2,22).getTime();
Commande c1=new Commande(1,date,"lina");

Ainsi la date qui sera passé en argument de ta commande sera bien celle que tu veux...

Après il y a peut-être des erreurs aussi dans la classe Commande, mais pas dans le petit morceau de code que tu nous as montré.
0
mimo2222 Messages postés 19 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 9 mars 2014 2
8 déc. 2013 à 19:14
je pense que jai mal expliquer les choses je veux que la date soit sous la forme dd/mm/yyyy et avec la methode que tu viens de me donner ca marche pas :/
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
8 déc. 2013 à 19:26
Pour afficher la date au format dd/mm/yyyy c'est donc la deuxième partie de mon code :

System.out.printf("%1$td/%1$tm/%1$tY",date);
0
mimo2222 Messages postés 19 Date d'inscription samedi 30 novembre 2013 Statut Membre Dernière intervention 9 mars 2014 2
8 déc. 2013 à 19:28
c bon ca marche merci beaucouup
0