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

Entrée/Sortie Java Discussion :

Récupérer la date d'un fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Par défaut [Résolu] Récupérer la date d'un fichier
    Bonjour,

    alors voila je dois récupérer la date de modification d'un fichier (sous windows) et qu'elle soit de la forme : yyyy-MM-dd

    Je donc fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    File directory = new File(le lien de mon fichier);
    Date date1 = new Date(directory.lastModified());
    SimpleDateFormat  simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
    String date2 = simpleFormat.format(date1);
    Donc jusque la ça va, ma date a bien la bonne forme sauf que c'est plus une Date mais un String

    J'ai donc mis à la suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date date3 = simpleFormat.parse(date2);
    Ca me sort bien une Date mais pas de la forme :yyyy-MM-dd
    Mais plutôt ça : Wed Apr 23 00:00:00 CEST 2008

    J'ai cherché partout (ou presque) mais rien n'y fait.

    Je demande donc votre aide.

    Cordialement.
    BennyBen.

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Le problème c'est que tu veux donner un format à un objet Date et le sauvegarder dans un objet Date, or une Date n'a pas de format une date c'est une date. Si tu veux la sauvegarder dans un format donnée ce n'est pus une date c'est une chaine de caractère.

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Par défaut
    Le problème justement c'est que récupère une autre date d'une base de données que je place dans un objet Date, et cette date a pour forme yyyy-MM-dd.

    Et moi je veux comparer la date de la base de données avec celle du fichier, mais vu quelles n'ont pas le même format elles ne sont jamais égales.

    A moins qu'il y ait une autre méthode .

    Merci.

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Pour les comparer il faut que tu crée un objet Date pour chacune de tes 2 dates et que tu utilise la méthode equals comme ça tu n'a pas à te soucier du formatage. Si ça ne marche pas montre nous ce que tu as fait.

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Comme le dit guigui5931 une date est une date, et il n'y a pas de notion de forme, quelque soit celle d'origine ou future.

    Il faut donc que tu compares deux dates, et non pas deux formes de dates.

    Normalement, de la base de données, tu reçois un objet java.sql.Date, qui hérite de java.util.Date. Tu peux comparer un java.sql.Date avec un java.util.Date.

    grilled.

  6. #6
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Par défaut
    Bonjour,

    désoler de ne pas avoir répondu mais j'étais partis en weekend.

    Pour guigui5931 :

    Voila mon code pour comparer les deux date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Date_f_s.equals(Date_fichier)) System.out.println("--- Document a jour ---\n");
    Date_f_s = Date provenant de la BDD
    Date_fichier = Je vous laisse deviner ^^

    Pour guigui5931 & gifffftane :

    Vous me dite qu'une date n'a pas de "format", je veux bien et je dis pas le contraire. Mais alors comment ce fait il que lorsque j'affiche mais deux date du dessus (sans aucun reformatage) j'ai :

    Date_f_s = 2008-04-23
    Date_fichier = Wed Apr 23 00:00:00 CEST 2008

    Là je pige plus rien

  7. #7
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    La différence peut venir de la classe de la date (celle provenant de la base est probablement une java.sql.Date contraierement à celle du fichier qui doit être un java.util.Date) mais cela ne devrait pas poser de problème lors de la comparaison. Le problème (à mon avis) est qu'un objet Date c'est un date + une heure minutes seconde donc si dans ta base tu as une simple date (sans heure,...) tous les champs de l'heure minutes et seconde sont mis à 0 alors que pour ton fichier il sont probablement remplis.
    Je sais pas si je suis clair : pour ta date en base tu a surement 21/04/2008 00h00m00s alors que pour ton fichier tu a 21/04/2008 12h45m25s (par exemple) or ces 2 dates ne sont pas égale.
    Je t'invite à regarder la classe Calendar pour remettre les champs d'heure de ta date de fichier à 0.

    En espérant t'aider.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/05/2016, 12h26
  2. Récupérer une date d'un fichier ini dans un edit
    Par LuckyLuke56 dans le forum Langage
    Réponses: 4
    Dernier message: 06/05/2009, 06h11
  3. Réponses: 1
    Dernier message: 04/03/2008, 00h59
  4. récupérer la date du cliché fichier Jpg
    Par Ricquet dans le forum Delphi
    Réponses: 2
    Dernier message: 08/07/2007, 10h13

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