IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Conversion string to date [Débutant(e)]


Sujet :

Collection et Stream Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Conversion string to date
    Salut!
    j'ai une date sous forme de string (String d="MM/dd/AAAA HH:mm:ss")(ex String d="05/13/2005 13:25:57") que je dois convertir en format Datetime afin de l'inserer dans une DB MySQL.

    Can u help me plz???

  2. #2
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    CF SimpleDateFormat...

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    en fait, j'ai essayé 2 méthodes. mais je n'obtient jamais le format que je veux. en fait je veux garder le meme format q'en string.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    import java.util.Date;
     
     
    import java.sql.Timestamp;
    import java.text.ParsePosition;
    import java.text.SimpleDateFormat;
     
    public class TestDate
    {
    public static Date stringToDate(String sDate){
                    Date d = null;
    	try {
    SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
    	ParsePosition pos = new ParsePosition(0);
    	d = formatter.parse(sDate,pos);
    	} catch (RuntimeException e) {
    	e.printStackTrace();
    	}
    	return d;	 	
    }
     
    public static Timestamp toDBDateFormat(String date)
    	{
    	if(date == null) return null;
    	int day = Integer.parseInt(date.substring(3,5));
    	int moi = Integer.parseInt(date.substring(0,2));
    	int annee = Integer.parseInt(date.substring(6,10));
    	int heure = Integer.parseInt(date.substring(11,13));
    	int minute = Integer.parseInt(date.substring(14,16));
    	int seconde = Integer.parseInt(date.substring(17,19)); 
    	Timestamp t = new Timestamp(annee-1900,moi-1,day,heure,minute,seconde,0);
    	return t;
     
    }
     
     
    public static void main(String[] args) {
    Date d=stringToDate("05-14-2005 15:53:42");
    System.out.println("1ere methode:"+d);
    //affiche: 1ere methode:Sat May 14 15:53:42 GMT 2005
     
    Timestamp t= toDBDateFormat("05-14-2005 15:53:42");
    System.out.println("2eme methode: "+t);
    //affiche 2eme methode: 2005-05-14 15:53:42.0
    	}
     
    }

    moi ce q je voudrais obtenir c :
    2005-05-14 15:53:42

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    SimpleDateFormat est utile non seulement pour parser une String en Date, mais aussi pour formater une Date en String.

    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    import java.sql.Timestamp;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
    public class TestDate {
     
        public static SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
     
        public static Date stringToDate(String sDate) throws ParseException {
            return formatter.parse(sDate);
        }
     
        public static Timestamp toDBDateFormat(String sDate) throws ParseException {
            return new Timestamp(stringToDate(sDate).getTime());
        }
     
        public static String dateToString(Date date) {
            return formatter.format(date);
     
        }
     
        public static void main(String[] args) throws ParseException {
            String inputDate = "05-14-2005 15:53:42";
            Date d=stringToDate(inputDate);
            System.out.println("1ere methode:"+d);
    //affiche: 1ere methode:Sat May 14 15:53:42 GMT 2005
            System.out.println("1ere methode:"+dateToString(d));
    //affiche: 1ere methode:05-14-2005 15:53:42
     
            Timestamp t= toDBDateFormat(inputDate);
            System.out.println("1ere methode:"+t);
    //affiche 2eme methode: 2005-05-14 15:53:42.0
            System.out.println("2eme methode: "+dateToString(t));
    //affiche: 2eme methode:05-14-2005 15:53:42
        }
     
    }
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  5. #5
    Futur Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai une petite question par rapport à cette conversion de String en Date:
    lorsque j'utilise cette méthode, l'année n'est pas correcte et j'obtiens une date de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fri Mar 03 21:08:15 CET 181
    Quelqu'un sait-il pourquoi?

    merci

  6. #6
    Membre du Club Avatar de philobedo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Bonjour tout le monde,

    Le sujet est un peu vieux mais comme je suis en train de travailler sur les simpleDateFormat (pas très simple en fait :-/ ) je suis tombé sur le sujet et j'apporte une réponse à la dernière question :

    Il faut faire attention au format défini : majuscule et minuscule défini dans le format, en clair

    ce n'est pas la même chose que

    Dans ce 2ième la lecture sera décalé et l'année incorrecte !

    a+
    Philobedo
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants."
    St Ex.

    Philobedo

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 48
    Points : 51
    Points
    51
    Par défaut
    Encore mieux:

    Allez regarder les différentes syntaxes possibles dans la Doc !

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 90
    Points : 80
    Points
    80
    Par défaut
    il faut juste utiliser le bon SimpleDateFormat pattern. ---> http://wp.me/p1f4cR-1x

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PRO*C] conversion string en date (C vers SQL)
    Par zamorakis dans le forum Interfaces de programmation
    Réponses: 5
    Dernier message: 27/02/2008, 17h44
  2. conversion string en date
    Par psycho_xn dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/06/2007, 23h24
  3. Conversion string en date et heure
    Par loreleï85 dans le forum C#
    Réponses: 14
    Dernier message: 24/01/2007, 15h47
  4. conversion String en Date
    Par lisa-java dans le forum Langage
    Réponses: 3
    Dernier message: 12/01/2006, 16h14
  5. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo