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

Qt Discussion :

Date incorrecte dans QFileInfo->created()


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut Date incorrecte dans QFileInfo->created()
    Bonjour,

    J'ai un problème dans mon programme, je veux comparer des dates, dont une est la date de création d'un fichier.

    Mon problème, la date retourné et la date affichés dans les propriétés ne correspond pas.

    Je mets mon code pour savoir où je peux faire une erreur :
    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
    bool Test::comparaisonDate (QFileInfo *fichier, QWidget * parent)
    {
        QMessageBox::information(parent,"...",fichier->fileName());
     
        QDate *date = new QDate(fichier->created().date());
        QTime *time = new QTime(fichier->created().time());
     
        int annee = date->year();
        int mois = date->month();
        int jour = date->day();
     
        int heure = time->hour();
        int minute = time->minute();
        int seconde = time->second();
     
        QMessageBox::information(parent,"...",QString::number(annee) +" "+ QString::number(mois) +" "+ QString::number(jour));
        QMessageBox::information(parent,"...",QString::number(heure) +" "+ QString::number(minute) +" "+ QString::number(seconde));
     
        return 0;
    }
    Avant que l'on me dise que ma fonction ne sert à rien, j'en suis bien conscient, elle ne ressemble en rien à ça normalement mais je l'ai transformé pour chercher l'erreur et trouver ce problème.

    Merci d'avance de votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Désolé je pense avoir posté pour rien, je n'ai pas encore fait les corrections donc ne suis pas tout à fait sûr du résultat, mais le problème doit venir que je n'utilise que le nom du fichier et non le chemin de ce fait les données doivent être erronée.

    Désolé pour le dérangement.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    Non pas que j'aime me faire des conversations seul sur les forums, mais finalement j'ai quand même un problème.

    L'erreur des dates est résolue, c'était bien du à une mauvaise utilisation des sources.

    Néanmoins, persiste un problème, quand je compare mais dates il me dit que la date x est supérieur à la date y, or ce n'est pas le cas.

    Est-ce qu'en utilisant l'opérator "<" ou ">", pour avoir une réponse correcte, toutes les données (year, hour, month,...) doivent être supérieur ou inférieur ou est ce qu'il analyse bien les dates et que dans ce cas je fais une erreur?

    Merci d'avance de vos réponses.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 111
    Par défaut
    Bonjour,
    je suis sûr que vous avez déjà vu la doc. c'est juste pour ne pas dire que vous êtes seul:
    bool QDate::operator!= ( const QDate & d ) const

    Returns true if this date is different from d; otherwise returns false.
    bool QDate::operator< ( const QDate & d ) const

    Returns true if this date is earlier than d; otherwise returns false.
    bool QDate::operator<= ( const QDate & d ) const

    Returns true if this date is earlier than or equal to d; otherwise returns false.
    bool QDate::operator== ( const QDate & d ) const

    Returns true if this date is equal to d; otherwise returns false.
    bool QDate::operator> ( const QDate & d ) const

    Returns true if this date is later than d; otherwise returns false.
    bool QDate::operator>= ( const QDate & d ) const

    Returns true if this date is later than or equal to d; otherwise returns false.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Par défaut
    C'est agréable de ne pas se sentir seul, mais ce le sera encore plus quand ce problème sera résolu...

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 111
    Par défaut
    Bonjour
    voici le résultat d'un petit test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        QDate dt1;
        QDate dt2;
     
        dt1 = QDate(2010, 12, 31);
        dt2 = QDate(2011,1,1);
     
        qDebug() << "dt1=" << dt1 << " dt2=" << dt2;
        qDebug() << " dt1.operator !=(dt2)=" << dt1.operator !=(dt2);
        qDebug() << " dt1.operator <(dt2)=" << dt1.operator <(dt2);
        qDebug() << " dt1.operator >(dt2)=" << dt1.operator >(dt2);
        qDebug() << " dt1.operator >=(dt2)=" << dt1.operator >=(dt2);
        qDebug() << " dt1.operator <=(dt2)=" << dt1.operator <=(dt2);
        qDebug() << " dt1.operator ==(dt2)=" << dt1.operator ==(dt2);
    résultat :

    Démarrage de C:\ProjectQt\p11-build-desktop\debug\p11.exe...
    dt1= QDate("ven. déc. 31 2010") dt2= QDate("sam. janv. 1 2011")
    dt1.operator !=(dt2)= true
    dt1.operator <(dt2)= true
    dt1.operator >(dt2)= false
    dt1.operator >=(dt2)= false
    dt1.operator <=(dt2)= true
    dt1.operator ==(dt2)= false
    C:\ProjectQt\p11-build-desktop\debug\p11.exe s'est terminé avec le code 0

    cordialement

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

Discussions similaires

  1. probléme avec une date/string dans un CommandText
    Par critok dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/02/2005, 15h30
  2. BC6 inserer un enreg de type date/heure dans Access2003
    Par o_live dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/06/2004, 11h13
  3. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 08h37
  4. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06
  5. Update de date vide dans une table
    Par gidebo dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/03/2004, 16h48

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