#include <time.h>
struct tm *getdate( const char *string );
Convertit une chaîne en date selon des formats décrits par l'environnement POSIX.
La fonction getdate s'appuie sur le fichier indiqué par la variable d'environnement DATEMSK. L'exemple suivant crée un petit fichier de format, parse une date, puis supprime le fichier temporaire.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#define _XOPEN_SOURCE 700 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { const char * templatePath = "datemsk.txt"; FILE * templateFile = fopen( templatePath, "w" ); if ( templateFile == NULL ) { perror( "fopen" ); return EXIT_FAILURE; } fputs( "%Y-%m-%d\n", templateFile ); fclose( templateFile ); if ( setenv( "DATEMSK", templatePath, 1 ) == -1 ) { perror( "setenv" ); remove( templatePath ); return EXIT_FAILURE; } struct tm * date = getdate( "2024-01-15" ); remove( templatePath ); if ( date == NULL ) { fprintf( stderr, "getdate_err == %d\n", getdate_err ); return EXIT_FAILURE; } printf( "%04d-%02d-%02d\n", date->tm_year + 1900, date->tm_mon + 1, date->tm_mday ); return EXIT_SUCCESS; } |
Cet exemple produit l'affichage suivant.
2024-01-15
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :