manatane En vous remerciant, bonsoir | Code :
- #include <limits.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <time.h>
- int main(){
- int lg;
- char * buffer;
- time_t date;
- struct tm * tm;
- // on change la disposition de strftime()
- setlocale(LC_TIME, "fr_FR" );
-
- time( &date );
- tm = localtime( &date ); // a partir de là on a la date courante en fonction du fuseau horaire dans une structure
- fprintf( stdout, "date toute bete : %02d %02d %02d\n",
- tm -> tm_mday, tm -> tm_mon + 1, tm -> tm_year % 100 ); // affiche 08 05 05
-
- lg = strftime(NULL, SSIZE_MAX, "%d %m %Y", tm ); // la date locale en jj mm aaaa
- if( lg > 0 ){
- buffer = malloc( lg + 1 );
- if( buffer == NULL ){
- perror("malloc" );
- exit(1);
- }
- strftime(buffer, lg + 1, "%d %m %Y", tm );
- fprintf( stdout, "%s", buffer ); // affiche 08 05 2005
- free( buffer );
- }
- fprintf( stdout, "\n" );
-
- return 0;
- }
|
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. |