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

Langage Java Discussion :

convertir une chaine en date


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 44
    Points
    44
    Par défaut convertir une chaine en date
    bonjour
    je sais que cette question est assez courante mais j'arrive à resoudre mon probleme.
    j'ai un string today="20/06/2006"
    et pour le convertir j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy" );
       Date resultatDate = sdf.parse(today);
    le probleme c'est que je ceux avoir le mois en chiffre et donc si je remplace MM par mm, j'ai ne exception.
    je fais comment? à l'aide

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    je veux avoir 26/07/2006 mais en date et non pas string

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Salut,
    en fait si tu veux avoir July il faudra ecrire MMMM.
    En fait à partir de trois M il commence à écire du texte. Autant tu mettras de M et autant tu auras de lettre afficher. Le m minuscule correspond au minute.
    Pour t'aider voila de la doc:
    http://java.sun.com/j2se/1.5.0/docs/...ateFormat.html

  4. #4
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Tu peux utiliser la class calendar par exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if( calendar.get( Calendar.MONTH ) == Calendar.JANUARY ) {
     
    } else if ...
    [EDIT] : J'avais tout saisi, pardon pour le post qui sert à rien
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Merci pour votre aide mais je ne veux pas avoir le mois en lettre je veux avoir 07(par exemple) et j'ai teste M, MM mais le probleme c'est que j'ai toujours Tue Jun.

  6. #6
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Essaye avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Locale locale = Locale.getDefault();
    SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy" , locale);
    Pour obtenir la langue par défaut
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  7. #7
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Tu as une date, je vois pas ce que ca change le fait que java prenne le mois comme des lettres ou un chiffre, puisque tu n'utilise pas les chaines de caractere associées.



    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  8. #8
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Je ne suis pas très familière de cette classe et je n'ai peut être rien compris, mais d'après moi, la méthode parse permet de determiner une Date (au format habituel, non mis en forme, d'une Date) à partir d'une String (par exemple) et la mise en forme s'effectue grace à la méthode format.
    Le formattage te renvoie une String.
    Donc, tu ne peux pas avoir une Date mise en forme, mais la mise en forme de cette Date au format String.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    En fait, je dois inserer une date dans une base de donnees mysql.
    pour tester j'essaie avec la date du jour
    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
     
    String today;
    			//la date du jour
    			Calendar calendar=new GregorianCalendar();
    			calendar.setTime(new java.util.Date());
    			int annee =calendar.get(Calendar.YEAR);
    			int mois =calendar.get(Calendar.MONTH);
    			int jour =calendar.get(Calendar.DAY_OF_MONTH);	
     
    			if(jour<10){today="0"+jour;}
    			else{
    				today= String.valueOf(jour);
    			}
    			if(mois<10){
    				today+="/0"+mois;				
    			}
    			else{
    				today+="/"+mois;
    			}
    			today+="/"+annee+" 00:00:00";
    cette date est sous format string donc je peux pas l'inserer.ainsi je veux convertir en type Date en utilisant
    SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy hh:mm:ss");
    Date resultatDate = sdf.parse(today);
    Le probleme c'est que je dois respecter le format de date de ma base et donc avoir le mois en chiffre. chose que j'ai pas reussi à faire meme si c'est marque dans la doc que MM = mois en chiffre.

  10. #10
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Si tu as réussi à le faire !
    cest juste qu'il faut utiliser la methode format et pas la methode parse. Effectivement tu récupéres une String. Mais es tu sur que tu ne peux pas mettre cette String dans ta requete ? ca m'etonne. Apres tout, une requete est une String envoyé aux moteur de requete...
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  11. #11
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    insert into mabase (date) values (to_date('20/06/2006','DD/MM/YYYY'))
    Pourquoi le faire en java quand c'est faisable en SQL ?

    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  12. #12
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,



    1. L'objet Date ne comporte aucune notion de langue ou de formatage : il ne représente qu'une date.
    2. Si tu veux représenter une date sous un certain format, il faut la transformer en String avec un SimpleDateformat et la méthode format()
    3. Il est préférable d'utiliser des PreparedStatement et les méthodes setTimeStamp() pour passer des dates vers une requêtes sans se soucier de la BD et de son format de date (FAQ : Les instructions paramétrées - PreparedStatement)
    a++

  13. #13
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 44
    Points
    44
    Par défaut
    Merci à vous tous.
    le probleme que j avais est du au package java.util.Date que j'ai importe et donc il fallait juste que je le caste en java.sql.Date avant de l'integrer dans ma requete pour l'insertion.
    j'ai reussi à inserer grace à vous ,Merci

  14. #14
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Sinon autre possibilitée on récupère des dates au format string par les getText() et on les parse, avec un format de date qui va bien :

    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
     
    DateFormat formatDate = DateFormat.getDateInstance(DateFormat.SHORT);//même format que pour la déclaration avant récup
     
    Date datedebut = null;
    Date datefin = null;
      try {
    	datedebut = formatDate.parse(ChamDateDebut.getText());
      } catch (java.text.ParseException e) {		
    	    e.printStackTrace();
      }
     
      try {
    	datefin = formatDate.parse(ChamDateFin.getText());
      } catch (java.text.ParseException e) {		
    	    e.printStackTrace();
      }

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

Discussions similaires

  1. [SQL-Server] SQL Server: convertir une chaine de caractères en date
    Par Louisa2005 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/09/2013, 10h25
  2. [AC-2007] Convertir une chaine en date
    Par le_dilem dans le forum Access
    Réponses: 2
    Dernier message: 02/08/2009, 12h34
  3. convertir une chaine en date
    Par Khalid.bounouader dans le forum JDBC
    Réponses: 2
    Dernier message: 09/10/2008, 11h34
  4. [Requête]Convertir une chaine de texte en format date
    Par emjie dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/04/2007, 00h44
  5. convertir une chaine en date dans ma page asp
    Par shirya dans le forum ASP.NET
    Réponses: 8
    Dernier message: 15/03/2007, 21h07

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