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 :

Transformation d'un Date en Numéro Vice versa


Sujet :

Langage Java

  1. #1
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Points : 161
    Points
    161
    Par défaut Transformation d'un Date en Numéro Vice versa
    Je reçoit des dates en entrée par exemple comme 20/10/2011 18:20:19, que je dois convertir en numérique pour un traitement particulier. Pour cela je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String passeraunumero="20/10/2011 18:20:19".replaceAll("[/: ]", "");
    Et j'ai mon résultat sans problème 20102011182019. Mais le problème se pose lorsqu'il faut revenir à 20/10/2011 18:20:19. Je Peux faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringBuffer retouraladate = new StringBuffer(passeraunumero);
    et ensuite faire plusieurs où à chaque fois je récupère la chaîne contenant l'insertion d'avant sur laquelle j'applique la prochaine insertion, ainsi de suite. Et je parvient au résultat. Mais je trouve ça trop lourd. Lorsque j'essaie de lire les différents constructeurs de insert() dans la javadoc, je ne me retrouve pas.

    Quelqu'un aurait-il une idée ?

    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 562
    Points : 21 625
    Points
    21 625
    Par défaut
    Je trouve qu'il est plus simple de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    StringBuilder retouraladate = new StringBuilder();
    retouraladate.append(passeraunumero.substring(DEBUT_JOUR, FIN_JOUR));
    retouraladate.append('/');
    retouraladate.append(passeraunumero.substring(DEBUT_MOIS, FIN_MOIS));
    retouraladate.append('/');
    retouraladate.append(passeraunumero.substring(DEBUT_ANNEE, FIN_ANNEE));
    retouraladate.append(' ');
    // ... Et ainsi de suite
    Note : StringBuilder est comme StringBuffer, sauf qu'il est plus rapide parce qu'il ne synchronise pas ses méthodes. Vu que tu es monothreadé, tu n'as pas besoin de synchroniser.

    Edit : quoi qu'en fait, il y a bien plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DateFormat longFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    DateFormat shortFormat = new SimpleDateFormat("ddMMyyyyHHmmss");
     
    // Transformer format long en format court
    Date date = longFormat.parse(dateDOrigine);
    String passeraunumero = shortFormat.format(date);
     
    // Transformer format court en format long
    Date otherDate = shortFormat.parse(passeraunumero);
    String retouraladate = longFormat.format(otherDate);

  3. #3
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Points : 161
    Points
    161
    Par défaut
    Merci thelvin,

    Bonne journée.

Discussions similaires

  1. [Crystal] transformation d'une date en numéro de semaine
    Par barna dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 24/03/2017, 09h41
  2. Réponses: 2
    Dernier message: 31/08/2011, 14h49
  3. obtenir le numéro de semaine d'une date et vis-et-versa ?
    Par clavier12AZQSWX dans le forum Flash/Flex
    Réponses: 1
    Dernier message: 18/08/2009, 18h16
  4. Réponses: 3
    Dernier message: 22/07/2008, 15h06
  5. Réponses: 6
    Dernier message: 04/03/2008, 16h32

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