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 :

Calcul de Date


Sujet :

C++

  1. #1
    Membre confirmé Avatar de fabpeden
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Par défaut Calcul de Date
    Bonjour, je suis en train de développer quelque chose qui me paraissait simple mais qui après réflexion me parait assez complexe.
    Je souhaite soustraire un certain nombre d'heures à la Date et heure d'aujourd'hui puis que le système me donne la date et l'heure était. Par exemple :

    20/03/2007 à 17:14 - 47H --> 18/03/2007 à 18:14.

    On m'a parlé des Classes COleDateTime et COleDateTimeSpan, si vous avez des pistes, merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Tu peux t'en sortir simplement avec la fonction de la bibliothèque C localtime.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    time_t t = time(0L); /* date et heure d'aujourd'hui */
    t -= 3600*nbh;  /* nbh: nombre d'heures à soustraire */
    struct tm *tm = localtime(&t);
    sprintf(dte,"%02d/%02d/%04d %02d:%02d",tm->tm_mday,tm->tm_mon+1,
      tm->tm_year+1900,tm->tm_hour,tm->tm_min);
    ...

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  4. #4
    Membre confirmé Avatar de fabpeden
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Par défaut
    Merci pour ton aide Josse95, cela à l'air de fonctionner, merci!

  5. #5
    Membre confirmé Avatar de fabpeden
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Par défaut
    Bonjour, quelqu'un pourrait-il me dire que signifie OL dans time(OL), j'ai cherché sur internet et il n'y a pas grand chose. Et peut-on remplacer cela par une Date/duree prédéfinie et que le t soit le même je m'explique :

    t = time(OL) --> t =1174488998 pour 15:56

    moi je voudrais par ex : t = time(21/03/20071552) et qu'il me donne t sous la même forme que ci-dessus

    Merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Le 0L signifie 0 de type long.

    Si tu dois partir d'une autre heure que l'heure courante, tu peux utiliser mktime.

    mktime prend en argument une structure de type tm. Pour initialiser correctement tous les champs de cette structure, le mieux est de partir d'une structure renvoyée par un appel à localtime.

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    t = time(0L);
    tm = localtime(&);
    tm->tm_year = 2007-1900;
    tm->tm_mon = ...
    t = mktime(tm);
    Désolé pour les puristes du C++: tout cela est du C.

Discussions similaires

  1. [Calendar]Problème de calcul de date
    Par valerie90 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 08/12/2004, 12h13
  2. COUNT + Calcul de DATE
    Par cassi2 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/10/2004, 16h35
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. SCRIPT CALCULANT LA DATE
    Par Redouane dans le forum ASP
    Réponses: 3
    Dernier message: 17/03/2004, 09h10
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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