Date système - Help

Date système - Help - C - Programmation

Marsh Posté le 08-05-2005 à 12:24:17    

Bonjour,
 
j'ai un problème avec la récupération des infos de la date système. J'ai bien essayé en utilisant les fonctions de time.h et différentes explications trouvées dans des bouquins ou sur le net mais rien n'a vraiment fonctionné comme je le voudrais.
 
Pourrais on donc m'écrire les quelques lignes de code pour que la date soit récupérée dans une variabla jour, une variable mois, et une variable année et ce sous la forme 15 02 1956
 
Le 15 allant donc dans les jours et ainsi de suite pour chaque variable. J'ai mon programme mais il n'y a que cela qui coince.
 
Merci d'avance pour votre aide et svp écrivez moi le code ou du moins un exemple et pas me dire utilise ceci avec la struct x etc...  
 
Le coup de main sera VRAIMENT apprécié :)  :jap:


---------------
[:xx_xx] "Imagination is more important than knowlegde" citation de Albert Einstein qui prend tout son sens dans notre monde actuel [:xx_xx]  
Reply

Marsh Posté le 08-05-2005 à 12:24:17   

Reply

Marsh Posté le 08-05-2005 à 12:42:57    

nolimites a écrit :

j'ai un problème avec la récupération des infos de la date système. J'ai bien essayé en utilisant les fonctions de time.h et différentes explications trouvées dans des bouquins ou sur le net mais rien n'a vraiment fonctionné comme je le voudrais.


Montre ton code.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 08-05-2005 à 17:10:36    

Code :
  1. #include <limits.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <locale.h>
  5. #include <time.h>
  6. int main(){
  7.   int lg;
  8.   char * buffer;
  9.   time_t date;
  10.   struct tm * tm;
  11.   // on change la disposition de strftime()
  12.   setlocale(LC_TIME, "fr_FR" );
  13.  
  14.   time( &date );
  15.   tm = localtime( &date ); // a partir de là on a la date courante en fonction du fuseau horaire dans une structure
  16.   fprintf( stdout, "date toute bete : %02d %02d %02d\n",
  17.    tm -> tm_mday, tm -> tm_mon + 1, tm -> tm_year % 100 ); // affiche 08 05 05
  18.  
  19.   lg = strftime(NULL, SSIZE_MAX, "%d %m %Y", tm ); // la date locale en jj mm aaaa
  20.   if( lg > 0 ){
  21.     buffer = malloc( lg + 1 );
  22.     if( buffer == NULL ){
  23.       perror("malloc" );
  24.       exit(1);
  25.     }
  26.     strftime(buffer, lg + 1, "%d %m %Y", tm );
  27.     fprintf( stdout, "%s", buffer ); // affiche 08 05 2005
  28.     free( buffer );
  29.   }
  30.   fprintf( stdout, "\n" );
  31.  
  32.   return 0;
  33. }


Il faut que tu regardes comment est définie une structure tm (l'année (champs tm_year) est le nombre d'année depuis 1900 par exemple) et comment fonctionne strftime.

Reply

Marsh Posté le 09-05-2005 à 09:15:47    

manatane a écrit :

Code :
  1. #include <limits.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <locale.h>
  5. #include <time.h>
  6. int main(){
  7.   int lg;
  8.   char * buffer;
  9.   time_t date;
  10.   struct tm * tm;
  11.   // on change la disposition de strftime()
  12.   setlocale(LC_TIME, "fr_FR" );
  13.  
  14.   time( &date );
  15.   tm = localtime( &date ); // a partir de là on a la date courante en fonction du fuseau horaire dans une structure
  16.   fprintf( stdout, "date toute bete : %02d %02d %02d\n",
  17.    tm -> tm_mday, tm -> tm_mon + 1, tm -> tm_year % 100 ); // affiche 08 05 05
  18.  
  19.   lg = strftime(NULL, SSIZE_MAX, "%d %m %Y", tm ); // la date locale en jj mm aaaa
  20.   if( lg > 0 ){
  21.     buffer = malloc( lg + 1 );
  22.     if( buffer == NULL ){
  23.       perror("malloc" );
  24.       exit(1);
  25.     }
  26.     strftime(buffer, lg + 1, "%d %m %Y", tm );
  27.     fprintf( stdout, "%s", buffer ); // affiche 08 05 2005
  28.     free( buffer );
  29.   }
  30.   fprintf( stdout, "\n" );
  31.  
  32.   return 0;
  33. }


Il faut que tu regardes comment est définie une structure tm (l'année (champs tm_year) est le nombre d'année depuis 1900 par exemple) et comment fonctionne strftime.


 
 
merci beaucoup c'est exactement ce qu'il me fallait c'est cool merci encore  :love:


---------------
[:xx_xx] "Imagination is more important than knowlegde" citation de Albert Einstein qui prend tout son sens dans notre monde actuel [:xx_xx]  
Reply

Sujets relatifs:

Leave a Replay

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