Convertir date provenant de mysql

Résolu/Fermé
titi0006 Messages postés 157 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 15 mars 2017 - 27 juil. 2014 à 16:35
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 28 juil. 2014 à 11:29
Bonjour,

Je développe une application en Java J2E modèle MVC et je récupère des dates dans ma base de données. Sauf que celles-ci sont au format année - mois - jours et je souhaiterai les mettre au format jours - mois - année. Comment faire?
Voici ma classe CongeDAO pour plus d'aide:
package fr.intranet.bdd;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import fr.intranet.models.Conges;
import fr.intranet.models.Users;


public class CongesDAO {
Statement statement = null;
ResultSet resultat = null;
AccesBDD unAcces = new AccesBDD();
public List<Conges> getCongesStatutAccueil(){
List<Conges> lesConges = new ArrayList<Conges>();
try{
statement = unAcces.connexionBdd().createStatement();
resultat = statement
.executeQuery("SELECT Conges.id As idConges, Users.id As idUser, Users.nom As nom, prenom, fonction, typeConges, depot, dateDbt, dateFin, statut, dateAction, commentaires"
+ " FROM Conges"
+ " LEFT JOIN Users ON Users.id = Conges.users_id"
+ " WHERE statut = 'En attente' OR statut = 'Annulé'"
+ " ORDER BY depot desc");

while(resultat.next()){
Conges conge = new Conges();
Users user = new Users();
user.setId(resultat.getInt("idUser"));
user.setNom(resultat.getString("nom"));
user.setPrenom(resultat.getString("prenom"));
user.setFonction(resultat.getString("fonction"));
conge.setUsers(user);
conge.setId(resultat.getInt("idConges"));
conge.setTypeConges(resultat.getString("typeConges"));
conge.setDepot(resultat.getDate("depot"));
conge.setDateDbt(resultat.getDate("dateDbt"));
conge.setDateFin(resultat.getDate("dateFin"));
conge.setStatut(resultat.getString("statut"));
conge.setCommentaires(resultat.getString("commentaires"));

lesConges.add(conge);
}
}catch (SQLException e) {
e.getMessage();
} finally {
unAcces.deconnexionBdd(resultat, statement);
}

return lesConges;
}

public List<Conges> getCongesUserAccueil(int idUser){
List<Conges> lesConges = new ArrayList<Conges>();
try{
statement = unAcces.connexionBdd().createStatement();
resultat = statement
.executeQuery("SELECT Conges.id As idConges, Users.id As idUser, Users.nom As nom, prenom, fonction, typeConges, depot, dateDbt, dateFin, statut, dateAction"
+ " FROM Conges"
+ " LEFT JOIN Users ON Users.id = Conges.users_id"
+ " WHERE Users.id ="+idUser
+ " ORDER BY depot desc");

while(resultat.next()){
Conges conge = new Conges();
Users user = new Users();
user.setId(resultat.getInt("idUser"));
user.setNom(resultat.getString("nom"));
user.setPrenom(resultat.getString("prenom"));
user.setFonction(resultat.getString("fonction"));
conge.setUsers(user);
conge.setId(resultat.getInt("idConges"));
conge.setTypeConges(resultat.getString("typeConges"));
conge.setDepot(resultat.getDate("depot"));
conge.setDateDbt(resultat.getDate("dateDbt"));
conge.setDateFin(resultat.getDate("dateFin"));
conge.setStatut(resultat.getString("statut"));

lesConges.add(conge);
}
}catch (SQLException e) {
e.getMessage();
} finally {
unAcces.deconnexionBdd(resultat, statement);
}

return lesConges;
}
}

Merci de votre aide
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
28 juil. 2014 à 11:29
Bonjour,

Les dates en SQL correspondent à des objets dates en Java (java.sql.Date ou java.sql.Timestamp qui héritent tout deux de java.util.Date).

Il n'y a donc pas de format jour/mois/année ou année/mois/jour, ce qui est stocké c'est le nombre de millisecondes depuis le 1er janvier 1970.

Après ce n'est que de l'affichage et il faut passer par différentes classes pour manipuler les dates. Il y a la classe Calendar, SimpleDateFormat et quelques autres.
0