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

Scala Java Discussion :

Transformation en type Date


Sujet :

Scala Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2018
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Transformation en type Date
    Bonjour à tous.
    Je débute en Scala et je dois avouer que je galère un peu ^^

    Par exemple:
    J'ai en entrée un fichier avec un champ date au format Int (sous la forme yyyyMMdd). Je voudrais récupérer la date et la transformer en format Date (yyyy-MM-dd) pour pouvoir l'intégrer dans une table.
    J'ai commencé à coder ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import java.sql.Date
    import java.text.SimpleDateFormat
     
    val inputDate:Int = 20180314
    val simpleDateFormat:SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")
    val outputDate = simpleDateFormat.parse(inputDate)
    val formatDate = new SimpleDateFormat("yyyy-MM-dd")
    Maintenant j'ai une erreur au niveau du parse ("found :Int required :String").
    Donc si je comprends bien, cela ne fonctionne que pour une transformation String --> Date.

    Du coup je suis bloqué
    Est-ce quelqu'un pourrait me dire comment coder la transformation ?

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Je trouve assez surprenant que ton inputDate soit un Int in non une String, étant donnée sa "forme". Mais bon...

    Le plus simple dans ton cas est de convertir inputDate en String avant de le donner à parse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    val outputDate = simpleDateFormat.parse(inputDate.toString)
    De toutes façons, ce format d'inputDate, d'après moi, est fait pour être considéré comme une String. Je remonterais plus avant pour vérifier si inputDate ne pourrait pas être une String dès le départ.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2018
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par sjrd Voir le message
    Je trouve assez surprenant que ton inputDate soit un Int in non une String, étant donnée sa "forme". Mais bon...

    Le plus simple dans ton cas est de convertir inputDate en String avant de le donner à parse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    val outputDate = simpleDateFormat.parse(inputDate.toString)
    De toutes façons, ce format d'inputDate, d'après moi, est fait pour être considéré comme une String. Je remonterais plus avant pour vérifier si inputDate ne pourrait pas être une String dès le départ.
    Mon fichier d'entrée vient d'un système mainframe dans lequel les champs dates sont au format cobol PIC 9(8) (soit 8 caractères numériques), d'où le inputDate en Int.

    Du coup je n'étais pas trop loin de la solution, mais il me manquait la subtilité du toString

    En tout cas merci beaucoup pour ton aide!

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

Discussions similaires

  1. [XL-2007] Transformation d'une donnée de type date en format standard
    Par chrisaccess dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/11/2011, 10h00
  2. Transformation du type et format de la Date
    Par hawk16 dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 02/03/2010, 12h46
  3. transformer un type timestamp en date
    Par viny dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/11/2009, 14h18
  4. [MySQL] Transformation d'une date type RFC 2822 en TIMESTAMP
    Par Magnat dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/06/2009, 01h47
  5. Réponses: 2
    Dernier message: 03/10/2005, 17h23

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