bonjour
je veut récupérer un champ date de ma base de données Mysql il est du format
yyyy/mm/jj hh:mm:ss et moi je ne veut avoir que yyyy/mm/jj.
comment on peut formatter cette date ??
merci a vous
bonjour
je veut récupérer un champ date de ma base de données Mysql il est du format
yyyy/mm/jj hh:mm:ss et moi je ne veut avoir que yyyy/mm/jj.
comment on peut formatter cette date ??
merci a vous
Voire "DateFormat" je pense.
Ou alors tu fais a la avec un split sur le caractere 'espace' en prenant que la partie gauche.
(Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Si dans ta base MySql le champ est de type DATE :
Soit tu le récupères sous forme d'une date, et ensuite tu le convertis en chaîne de caractère dans le code Java à l'aide de SimpleDateFormat.
Soit tu le récupères directement sous forme d'une chaîne de caractère en utilisant la fonction DATE_FORMAT dans ta requête SQL.
Si dans ta base MySql le champ est de type VARCHAR :
Tu le récupères sous forme de chaîne de caractère et ensuite tu peux effectuer d'abord un parse pour vérifier que c'est bien une date valide, puis un format pour formater cette date comme tu le souhaites, à l'aide de deux SimpleDateFormat différents.
Bonjour,
Pour récupérer la date en format "yyyy-mm-jj" utiliser getString() à la place getDate();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ResultSet resultSet= ....//La teble de données String date = resultSet.getString(Nom_ou_numéro_de_colonne);
en fait je travaille sur un projet java et je voudrais afficher la date dans un tableau j'ai essayé plein de méthode avec SimpleDateFormat mais je n'ai pas réussi à avoir le format que je veut càd yyyy-mm-dd j'ai toujours le format yyyy-mm-dd hh:mm:ss.
Normalement SimpleDateFormat te permet de représenter une date plus ou moins comme tu veux.
Le mieux serait que tu nous copie-colle ton bout de code, pour que l'on voit pourquoi tu n'as pas réussi à faire fonctionner ton programme.
Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.
voici mon code :
ce je veut récupéré c'est une date au format yyyy-mm-dd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Date d = new Date(); // ici je récupére la date de ma base Mysql d = m.getDateDebut(); // j'obtiens 2009-10-05 00:00:00 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // on formatte la date String newdate = sdf.format(d); // ici j'obtiens 2009-10-05 //on convertie la chaine en date Date dateFormate = new Date(); dateFormate = sdf.parse(newdate); // ici j'obtiens Mon Oct 05 00:00:00 VET 2009
oui en quelque sorte mais je veut récupérer une date et non pas une chaine de caratère c'est un problème de conversion.
ce code ne marche pas il me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //on convertie la chaine en date Date dateFormate = new Date(); dateFormate = sdf.parse(newdate);
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mon Oct 05 00:00:00 VET 2009
Ta date, sous forme d'objet Date, tu l'as là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Date d = m.getDateDebut();
Pour la formater, c'est-à-dire la transformer en chaîne de caractères selon le format voulu, tu as très bien réussi à utiliser le SimpleDateFormat :
(oui, j'ai renommé la variable, pour que son nom reflète mieux ce qu'elle représente...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = sdf.format(d);
Ensuite, je n'ai pas vraiment compris ce que tu essaies de faire...
Si tu re-parses la chaîne obtenue après avoir formaté la date d, tu vas obtenir la même date, modulo les informations non inclues dans le format : tu perdras les heures/minutes/secondes par rapport à l'objet d. Ce n'est donc pas tout à fait le même objet que d, mais ça reste un objet Date, or tu as dit que ce que tu voulais c'était la date formatée, c'est-à-dire formattedDate.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Date d2 = sdf.parse(formattedDate);
Une date est une date, un objet Date c'est un objet qui représente un "moment" (date+heure). Une "date formatée" c'est une chaîne de caractère représentant la date sous un certain format, c'est donc un objet String.
Tu as ta date (l'objet Date d) et tu sais la transformer en chaîne de caractère selon le format que tu veux (l'objet Date formattedDate). Tu as donc tout ce qu'il faut pour soit manipuler la date sous forme d'un objet Date, soit l'afficher sous forme d'une chaîne de caractère String de format défini. Évidemment, il ne faut pas utiliser pour l'affichage la chaîne de caractère d.toString() (ce qui formate la date avec un format par défaut similaire à new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy", Locale.US)), mais bien utiliser la date formatée formattedDate.
ce que j'essaye de faire avec le code ci dessus c'est de convertir la chaine formattedDate en un objet Date.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Date d2 = sdf.parse(formattedDate);
maintenant je cherche comment on fait la conversion de string vers date avec un format précis (yyyy-mm-dd)
Ce que tu cherches à faire n'est tout simplement pas possible : un objet Date contient une date (et pour être plus précis un "timestamp"), mais aucune information sur son format.
Dès que tu veux un format, tu dois passer par un formatteur (SimpleDateFormat) et enregistrer la "date formattée" dans une chaîne de caractères.
Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
Mes articles et tutoriaux & Mon blog informatique
ok !! ça je ne le savais pas , donc ce n'est pas la peine que je me casse la tête d'avantage
merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager