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???
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???
CF SimpleDateFormat...
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
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
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:
Quelqu'un sait-il pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Fri Mar 03 21:08:15 CET 181
merci
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part MM-dd-yyyy HH:mm:ss
Dans ce 2ième la lecture sera décalé et l'année incorrecte !
Code : Sélectionner tout - Visualiser dans une fenêtre à part mm-dd-yyyy HH:mm:ss
a+
Philobedo
"Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants."
St Ex.
Philobedo
Encore mieux:
Allez regarder les différentes syntaxes possibles dans la Doc !
il faut juste utiliser le bon SimpleDateFormat pattern. ---> http://wp.me/p1f4cR-1x
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