#1 Le 31/10/2007, à 18:31
- dramac
"appeler" l'heure dans un programme en C?
Voila tout est dans le titre, je voudrais faire un petit code pour m'entrainer au C (util dans un cursus scientifique) et pour ça il me faudrait un moyen d'aller chercher l'heure.
je n'ai strictement aucune idée de comment faire ça.
Hors ligne
#2 Le 31/10/2007, à 19:03
- AuraHxC
Re : "appeler" l'heure dans un programme en C?
Date et heure courantes
Le fichier en-tête time.h contient des déclarations de types et de fonctions permettant de manipuler la date et l'heure :
clock_t clock(void) retourne le temps CPU (en microsecondes) consommé depuis le premier appel à clock. Une division par la pseudo-constante CLOCKS_PER_SEC permet d'obtenir le temps en secondes,
time_t time(time_t *t) retourne le temps en secondes écoulé depuis le 1er janvier 1970 00:00:00 GMT. Si t est différent de NULL, *t reçoit également cette valeur,
time_t mktime(struct tm *t) convertit la date et l'heure décrites par la structure pointée par t, en nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00 GMT, lequel est retourné par la fonction (ou -1 si impossibilité),
char *asctime(const struct tm *t) convertit la date et l'heure décrites par la structure pointée par t en une chaîne de caractères de la forme : "Thu Oct 19 16:45:02 1995\n",
struct tm *localtime(const time_t *t) convertit un temps exprimé en secondes écoulées depuis le 1er janvier 1970 00:00:00 GMT, sous forme date et heure décrites par une structure de type struct tm. Cette fonction retourne un pointeur sur cette structure.
char *ctime(const time_t *t) convertit un temps exprimé en secondes écoulées depuis le 1er janvier 1970 00:00:00 GMT, en une chaîne de caractères de la même forme que la fonction asctime. Cette fonction équivaut à : asctime(localtime(t)),
Les 3 fonctions précédentes retournent des pointeurs sur des objets statiques qui peuvent être écrasés par d'autres appels.
Les types time_t et clock_t sont, respectivement, des alias de long et int.
La structure struct tm, explicitant la date et l'heure, contient les champs suivant (de type int) :
tm_year : année,
tm_mon : mois (0-11),
tm_wday : jour (0-6),
tm_mday : jour du mois,
tm_yday : jour de l'année, (0-365),
tm_hour : heures,
tm_min : minutes,
tm_sec : secondes.
Exemple :
#include <stdio.h>
#include <time.h>
int main(void) {
time_t t;
struct tm *tm;
time(&t);
puts(ctime(&t));
tm = localtime(&t);
puts(asctime(tm));
return 0;
}
Résultat :
$ gcc -Wall time.c -o time
$ ./time
Wed Oct 31 19:01:10 2007
Wed Oct 31 19:01:10 2007
Dernière modification par AuraHxC (Le 31/10/2007, à 19:09)
Hors ligne