Date et heure en C
Résolu
JDs
-
JDs -
JDs -
Bonjour, j'aimerais bien pouvoir utiliser time.h pour pouvoir avoir ceci par exemple : 30-04-2008 20:38
Est ce que c'est possible
merci de vos réponses
Est ce que c'est possible
merci de vos réponses
3 réponses
si tu fais un time(NULL), tu récupères le timestamp actuel, donc ensuite avec strftime, tu formates la sortie comme tu l'entend.
Un exemple :
Un exemple :
#include <time.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char outstr[200]; time_t t; struct tm *tmp; tmp = localtime(&t); if (tmp == NULL) { perror("localtime"); exit(EXIT_FAILURE); } if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) { fprintf(stderr, "strftime a renvoyé 0"); exit(EXIT_FAILURE); } printf("La chaîne résultat est \"%s\"\n", outstr); exit(EXIT_SUCCESS); }
time_t = int ou un long en interne alors que strftime prends un struct tm donc tu dois passer par localtime ou gmttime pour avoir la struct tm et ensuite formater par strftime
strftime converti en struct tm en une chaine formaté selon tes besoins et la stocke dans son premier paramètre, dans ton cas date.
Je pense que ton format doit plutôt être "%d-%m-%Y"
strftime converti en struct tm en une chaine formaté selon tes besoins et la stocke dans son premier paramètre, dans ton cas date.
Je pense que ton format doit plutôt être "%d-%m-%Y"
j'ai une variable que j'ai déclarer comme ceci
time_t t; puis ensuite je fais
time(&t);
...
Je sais pas trop comment m'expliquer c'est un peu nouveau pour moi
fin soit merci de ta réponse rapide