[C/C++] Comment récupérer la date ?

Comment récupérer la date ? [C/C++] - Programmation

Marsh Posté le 20-08-2001 à 18:21:44    

Quelle fonction ou quelle classe utiliser pour récupérer la date (jour, mois, année) en C/C++ ? J'ai essayé la fonction ctime() ainsi que localtime() mais la date retournée est le 15 janvier 1970.  
Le Bios de mon PC indique pourtant la bonne date donc le problème ne semble pas être du au PC.
Heeelp please !

Reply

Marsh Posté le 20-08-2001 à 18:21:44   

Reply

Marsh Posté le 20-08-2001 à 19:50:22    

C est sous quel OS ? c est un programme qui doit etre portable ?
 
car sous windows ,il y a ::GetSystemTime(LPSYSTEMTIME pTime)

Reply

Marsh Posté le 21-08-2001 à 09:33:55    

Sous Windows, j'utilise ceci
 
// charge la date et l'heure actuelle  
     struct date d;
     struct time t;
     char Date[11], Heure[9];
 
     getdate(&d);
     sprintf(Date, "%02i/%02i/%4i", d.da_day, d.da_mon, d.da_year);
     gettime(&t);
     sprintf(Heure, "%02i:%02i:%02i", t.ti_hour, t.ti_min, t.ti_sec);
 :D

Reply

Marsh Posté le 30-04-2010 à 10:09:20    

Je débute en C et je voulais savoir s'il faut une librairie spéciale pour le getdate ? J'ai trois messages d'erreur :
: error C2079: 't' uses undefined struct 'time'
: error C3861: 'getdate': identifier not found
: error C2228: left of '.da_day' must have class/struct/union
 

Reply

Marsh Posté le 30-04-2010 à 17:15:03    

Ah ouais, quand même 8 ans et demi.
 
Pour récupérer la date utilise localtime(), ça fonctionne sur à près n'importe quel système:

Code :
  1. #include <stdio.h>
  2. #include <time.h>
  3. int main()
  4. {
  5.       time_t now = time(NULL);
  6.       struct tm * tm = localtime(&now);
  7.       /* Utilise tm_year, tm_mday, tm_month, tm_hour, tm_min, tm_sec ou strftime: */
  8.       char date[64];
  9.       strftime(date, sizeof date, "%A, %B %d, %Y %H:%M:%S", tm);
  10.       fprintf(stderr, "Date = %s\n", date);
  11.       /* Ou en préformaté */
  12.       fprintf(stderr, "Date = %s\n", ctime(&now));
  13.       return 0;
  14. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed