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

MFC Discussion :

probleme de date avec mktime et gmtime


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut probleme de date avec mktime et gmtime
    Bonjour,

    j'ai des petits soucis � utiliser ces fonctions, voici ma demarche :

    je definis une date (pour les tests)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CString tmp;
    tmp = "20070605160939";
     
    struct tm tmSynchro;
    FillMemory(&tmSynchro, sizeof(tmSynchro), 0);
    tmSynchro.tm_year = atoi(tmp.Left(4)) - 1900;
    tmSynchro.tm_mon = atoi(tmp.Mid(4,2)) - 1;
    tmSynchro.tm_mday = atoi(tmp.Mid(6,2)) - 1;
    tmSynchro.tm_hour = atoi(tmp.Mid(8,2));
    tmSynchro.tm_min = atoi(tmp.Mid(10,2));
    tmSynchro.tm_sec = atoi(tmp.Right(2));
    Dans ma structure tmSynchro, j'ai les bonnes valeurs, je poursuis avec :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    time_t timeSynchro  = mktime(&tmSynchro);
    et la, bizzarement, tmSynchro.tm_hour passe � 17 alors qu'il etait a 16

    je continue avec ca :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    time_t value = (time_t) this->timeSynchro;
    struct tm *newtime = gmtime(&value);
    et la, tout aussi bizzarement, tm.tm_hour passe � 15

    Que se passe t'il ? comment faire que tm_hour reste a 16 tout le temps ?

    Merci

  2. #2
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    bon, ben j'ai finalement trouv�.

    pour ceux que ca pourrait interresser, j'ai remplac� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    time_t value = (time_t) this->timeSynchro + _timezone;
    struct tm *newtime = localtime(&value);
    gmtime par localtime et ajout de _timezone qui contient le decallage GMT

  3. #3
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour � tous,

    J'ai le m�me probl�me avec mktime, est-ce que quelqu'un aurait une explication et/ou une solution ? Je trouve incroyable qu'une fonction standard modifie son param�tre ainsi sans raison et sans que ce soit dans le man...

    firejoker, je ne suis pas s�r de comprendre ce qu'il se passe avec gmtime. tmSynchro est modifi� alors que tu passes value (donc une autre variable) � gmtime ?

    Merci.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [BO XIR2][DeskI] Probleme de date avec bo
    Par coolmek dans le forum Deski
    R�ponses: 4
    Dernier message: 10/04/2008, 14h53
  2. Acces probleme de Date avec Between
    Par kahya dans le forum Requ�tes et SQL.
    R�ponses: 1
    Dernier message: 03/05/2007, 16h26
  3. Probleme insertion date avec un champ datetime
    Par locs dans le forum MS SQL Server
    R�ponses: 24
    Dernier message: 24/09/2006, 12h19
  4. Probleme de date avec mysql: pas de date par defaut stp!
    Par kenny49 dans le forum Requ�tes
    R�ponses: 4
    Dernier message: 01/07/2006, 11h25
  5. Probleme de date avec changement d'ann�e
    Par GrisburT dans le forum Oracle
    R�ponses: 11
    Dernier message: 30/11/2004, 16h15

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