Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1659 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Manipulation des dates en visual C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Manipulation des dates en visual C++

n°220896
xilebo
noone
Posté le 26-09-2002 à 17:45:52  profilanswer
 

Salut,
 
J'ai besoin de faire des operations sur des dates (par exemple
ajouter un nombre de jour a une date ou faire une difference de
jour entre 2 dates) malheureusement il n'y a pas de fonction pour
ca.
 
Attention je precise je n'utilise pas MFC (je connais COleDateTime
et COleDateTimeSpan). C juste un programme win32 et j'aurais voulu
savoir s il existait ce genre de fonction car les regles de calculs
ne sont pas si evidentes que ca (et je ne les connais pas)
 
merci.

mood
Publicité
Posté le 26-09-2002 à 17:45:52  profilanswer
 

n°220913
disq8
Posté le 26-09-2002 à 17:59:32  profilanswer
 
n°220918
xilebo
noone
Posté le 26-09-2002 à 18:00:54  profilanswer
 

je vais voir ... apparemment oui . En tout cas merci :)

n°220919
xilebo
noone
Posté le 26-09-2002 à 18:01:58  profilanswer
 

euh juste un truc ... moi chui sous windows. ET y a que le .h
Y aurai pas la lib avec (lib windows bine entendu)
 
merci.

n°220923
disq8
Posté le 26-09-2002 à 18:04:10  profilanswer
 

voila tout ce que dis MSDN  :D  
 
 

Code :
  1. time
  2. Gets the system time.
  3. time_t time( time_t *timer );
  4. Routine Required Header Compatibility
  5. time <time.h> ANSI, Win 95, Win NT
  6. For additional compatibility information, see Compatibility in the Introduction.
  7. Libraries
  8. LIBC.LIB Single thread static library, retail version
  9. LIBCMT.LIB Multithread static library, retail version
  10. MSVCRT.LIB Import library for MSVCRT.DLL, retail version
  11. Return Value
  12. time returns the time in elapsed seconds. There is no error return.
  13. Parameter
  14. timer
  15. Storage location for time
  16. Remarks
  17. The time function returns the number of seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time, according to the system clock. The return value is stored in the location given by timer. This parameter may be NULL, in which case the return value is not stored.
  18. Example
  19. /* TIMES.C illustrates various time and date functions including:
  20. *      time            _ftime          ctime       asctime
  21. *      localtime       gmtime          mktime      _tzset
  22. *      _strtime        _strdate        strftime
  23. *
  24. * Also the global variable:
  25. *      _tzname
  26. */
  27. #include <time.h>
  28. #include <stdio.h>
  29. #include <sys/types.h>
  30. #include <sys/timeb.h>
  31. #include <string.h>
  32. void main()
  33. {
  34.     char tmpbuf[128], ampm[] = "AM";
  35.     time_t ltime;
  36.     struct _timeb tstruct;
  37.     struct tm *today, *gmt, xmas = { 0, 0, 12, 25, 11, 93 };
  38.     /* Set time zone from TZ environment variable. If TZ is not set,
  39.      * the operating system is queried to obtain the default value  
  40.      * for the variable.  
  41.      */
  42.     _tzset();
  43.     /* Display operating system-style date and time. */
  44.     _strtime( tmpbuf );
  45.     printf( "OS time:\t\t\t\t%s\n", tmpbuf );
  46.     _strdate( tmpbuf );
  47.     printf( "OS date:\t\t\t\t%s\n", tmpbuf );
  48.     /* Get UNIX-style time and display as number and string. */
  49.     time( <ime );
  50.     printf( "Time in seconds since UTC 1/1/70:\t%ld\n", ltime );
  51.     printf( "UNIX time and date:\t\t\t%s", ctime( <ime ) );
  52.     /* Display UTC. */
  53.     gmt = gmtime( <ime );
  54.     printf( "Coordinated universal time:\t\t%s", asctime( gmt ) );
  55.     /* Convert to time structure and adjust for PM if necessary. */
  56.     today = localtime( <ime );
  57.     if( today->tm_hour > 12 )
  58.     {
  59.    strcpy( ampm, "PM" );
  60.    today->tm_hour -= 12;
  61.     }
  62.     if( today->tm_hour == 0 )  /* Adjust if midnight hour. */
  63.    today->tm_hour = 12;
  64.     /* Note how pointer addition is used to skip the first 11  
  65.      * characters and printf is used to trim off terminating  
  66.      * characters.
  67.      */
  68.     printf( "12-hour time:\t\t\t\t%.8s %s\n",
  69.        asctime( today ) + 11, ampm );
  70.     /* Print additional time information. */
  71.     _ftime( &tstruct );
  72.     printf( "Plus milliseconds:\t\t\t%u\n", tstruct.millitm );
  73.     printf( "Zone difference in seconds from UTC:\t%u\n",
  74.              tstruct.timezone );
  75.     printf( "Time zone name:\t\t\t\t%s\n", _tzname[0] );
  76.     printf( "Daylight savings:\t\t\t%s\n",
  77.              tstruct.dstflag ? "YES" : "NO" );
  78.     /* Make time for noon on Christmas, 1993. */
  79.     if( mktime( &xmas ) != (time_t)-1 )
  80.    printf( "Christmas\t\t\t\t%s\n", asctime( &xmas ) );
  81.     /* Use time structure to build a customized time string. */
  82.     today = localtime( <ime );
  83.     /* Use strftime to build a customized time string. */
  84.     strftime( tmpbuf, 128,
  85.          "Today is %A, day %d of %B in the year %Y.\n", today );
  86.     printf( tmpbuf );
  87. }
  88. Output
  89. OS time:                                21:51:03
  90. OS date:                                05/03/94
  91. Time in seconds since UTC 1/1/70:       768027063
  92. UNIX time and date:                     Tue May 03 21:51:03 1994
  93. Coordinated universal time:             Wed May 04 04:51:03 1994
  94. 12-hour time:                           09:51:03 PM
  95. Plus milliseconds:                      279
  96. Zone difference in seconds from UTC:    480
  97. Time zone name:                       
  98. Daylight savings:                       YES
  99. Christmas                               Sat Dec 25 12:00:00 1993
  100. Today is Tuesday, day 03 of May in the year 1994.
  101. Time Management Routines
  102. See Also   asctime, _ftime, gmtime, localtime, _utime
  103. --------------------------------------------------------------------------------
  104. Send feedback to MSDN.Look here for MSDN Online resources.

n°220988
xilebo
noone
Posté le 26-09-2002 à 19:13:56  profilanswer
 

:jap: autant pour moi

n°221253
xilebo
noone
Posté le 27-09-2002 à 12:19:45  profilanswer
 

Euh ca va pas en fait ... je peux pas ajouter un nombre de  
jour a une date . :(

n°221354
disq8
Posté le 27-09-2002 à 14:37:55  profilanswer
 

xilebo a écrit a écrit :

Euh ca va pas en fait ... je peux pas ajouter un nombre de  
jour a une date . :(




 
Petit exemple :
 

Code :
  1. time_t now;
  2.  tm* ptm;
  3.  time (&now);
  4.  ptm = gmtime (&now);


 
dans now, tu as la date en secondes : pour rajouter 1 jour tu fais

Code :
  1. now += 60 * 60 * 24; // (60 secondes * 60 minutes * 24 heures = nombre de seconde dans 24h)


ou sinon dans ptm : pour rajouter 1 jour tu fais

Code :
  1. ptm->tm_mday += 1;

n°221418
xilebo
noone
Posté le 27-09-2002 à 15:50:36  profilanswer
 

tout a fait d accord mais si on est le 30/11/2002 et que je veux
ajouter 45 jours ca va pas car :
30/11/2002 + 45 j -> 75/11/2002 -> invalid
 
pour l autre solution par contre avec les secondes c ok ca marche!
 
 
merci !

n°221429
disq8
Posté le 27-09-2002 à 16:00:24  profilanswer
 

xilebo a écrit a écrit :

tout a fait d accord mais si on est le 30/11/2002 et que je veux
ajouter 45 jours ca va pas car :
30/11/2002 + 45 j -> 75/11/2002 -> invalid
 
pour l autre solution par contre avec les secondes c ok ca marche!
 
 
merci !




 
de rien  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Manipulation des dates en visual C++

 

Sujets relatifs
[VISUAL C++] difference d execution entre mode debug et releasevisual studio 6.0 entreprise edition
help PHP sur les dates ?Visual Basic & adresse IP
Visual c++ ou pas Visual c++ ?comment changer un nom au demarage d'un programme fé en c++ visual bas
[LISP] Coloration syntax sous MS Visual C++[Visual Basic] Grille de données
[LISP] coloration syntaxique sous MS visual studio ?[visual basic]comment activer le port joystick
Plus de sujets relatifs à : Manipulation des dates en visual C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR