Citation:
Envoyé par lui |
Pour une fois que tu as fais l'effort de la balise CODE, je me ferais un plaisir de t'aider, même si comme le dit zoup1 tout est compris dans le lien que tu fournis.
On commence par
time_t qui est le type du temps (le deuxième t de
time_t sous-entend
type). C'est un entier en fait.
La fonction
time te permet de récupérer le temps sous la forme d'un entier. Donc
timestamp contient l'heure mais sous la forme d'un entier indiquant le nombre de secondes écoulées depuis le 1er janvier 1970 à 0 heure GMT. Juste après la ligne 3, affiche le contenu de
timestamp et tu verras que ce n'est pas très agréable à lire. De plus, ça veut dire que tu dois t'amuser à le convertir en hh:mm:ss à chaque fois que tu compte l'utiliser... pas pratique. C'est là qu'intervient
localtime et
ctime.
Ne nous intéressons pas à
ctime puisque ce n'est pas là l'objet de ta question.
La fonction
localtime permet de convertir l'entier sous la forme d'un enregistrement (ce qu'on appelle souvent
structure). Cet enregistrement contient un champ pour les minutes, les secondes, les jours etc. Voici la déclaration du type
tm (c'est-à-dire de l'enregistrement du temps).
Code:
struct tm {
int tm_sec; /* Secondes */
int tm_min; /* Minutes */
int tm_hour; /* Heures (0 - 23) */
int tm_mday; /* Quantième du mois (1 - 31) */
int tm_mon; /* Mois (0 - 11) */
int tm_year; /* An (année calendaire - 1900) */
int tm_wday; /* Jour de semaine (0 - 6 Dimanche = 0) */
int tm_yday; /* Jour dans l'année (0 - 365) */
int tm_isdst; /* 1 si "daylight saving time" */
};
Donc dans ton exemple
t.tm_yday te permet d'accéder au jour de l'année correspondant au temps que tu as récupéré à l'aide de
time et qui autrement sera codé et illisible a priori.
Est-ce clair ?