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

C Discussion :

Calculer la difference entre deux dates


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 40
    Points
    40
    Par défaut Calculer la difference entre deux dates
    bonjour, existe-t-il en C une fonction comme en C++ avec datediff pour calculer la différence entre deux dates au formale YYYYmmddhhmmss ?
    Merci beaucoup.

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Non, en C standard, il n'existe que difftime qui permet de récupérer l'écart -en secondes- entre deux dates au format time_t.

    Cela dit, avec mktime, on peut créer des time_t facilement.

    http://www.cplusplus.com/reference/clibrary/ctime/

    PS : Dans quelle bibliothèque as tu trouvé la fonction datediff ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    La fonction difftime a l'air très bien, mais le problème c'est que je veux comparer l'heure et la date actuelle avec celle stockée dans un fichier texte, or je n'arrive pas à convertir la chaine de caractère récupérée dans le fichier en time_t avec mktime car il faut obligatoirement avoir une struct tm, pour ensuite la convertir en time_t et l'utiliser avec difftime.
    Je reste ouvert à toutes suggestions.
    Merci.

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par vaderetro33 Voir le message
    or je n'arrive pas à convertir la chaine de caractère récupérée dans le fichier en time_t avec mktime car il faut obligatoirement avoir une struct tm,
    Comment se présente la date dans le fichier ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    Alors la date est au format timestamp :

    20091007103123

    Voilà.

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    sscanf peut faire ton bonheur :
    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
    #include <stdio.h>
     
    int main(void) 
    {
     
        int annee, mois, jour, heure, minutes, secondes;
        char datestr[] = "20091007103123";
     
        if(6 == sscanf(datestr, "%4d%2d%2d%2d%2d%2d", &annee, &mois, &jour, &heure, &minutes, &secondes)) {
            puts("conversion reussie");
            printf("le %d/%d/%d a %d:%d:%d\n", jour, mois, annee, heure, minutes, secondes);
        } else {
            puts("echec de conversion");
        }
     
        return 0;
    }

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

Discussions similaires

  1. calcul difference entre deux dates
    Par bambino13 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/06/2009, 10h01
  2. Valeur calculée difference entre deux dates #NOMBRE!
    Par gracouille dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/06/2008, 11h59
  3. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50
  4. [VBA] Calculer la différence entre deux dates
    Par T'chab dans le forum Access
    Réponses: 13
    Dernier message: 11/05/2006, 15h12
  5. difference entre deux dates
    Par nizniz dans le forum Oracle
    Réponses: 3
    Dernier message: 09/05/2006, 11h54

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