English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Fonction de bibliothèque C time_t mktime(struct tm *timeptr) Convertir timeptr La structure pointée est convertie en une valeur time_t en fonction du fuseau horaire local.
Voici la déclaration de la fonction mktime() :
time_t mktime(struct tm *timeptr)
struct tm { int tm_sec; /* Les secondes, dans la plage de 0 à 59 */ int tm_min; /* Les minutes, dans la plage de 0 à 59 */ int tm_hour; /* L'heure, dans la plage de 0 à 23 */ int tm_mday; /* Le jour du mois, dans la plage de 1 à 31 */ int tm_mon; /* Le mois, dans la plage de 0 à 11 */ int tm_year; /* de 1900 à partir de l'année */ int tm_wday; /* Le jour de la semaine, dans la plage de 0 à 6 */ int tm_yday; /* Le jour de l'année, dans la plage de 0 à 365 */ int tm_isdst; /* Heure d'été */ };
Cette fonction renvoie une valeur de type time_t correspondant à l'heure calendaire passée en paramètre. En cas d'erreur, elle renvoie -1 Valeur.
Le fichier d'exemple suivant montre l'utilisation de la fonction mktime().
/* Entrer la date pour déterminer le jour de la semaine */ #include <stdio.h> /* printf, scanf */ #include <time.h> /* time_t, struct tm, time, mktime */ int main() { time_t rawtime; struct tm * timeinfo; int year, month, day; const char * weekday[] = { "Dimanche", "Lundi","Mardi", "Mercredi","Jeudi", "Vendredi", "Samedi"}; /* Entrée de date de l'utilisateur */ printf("年: "); fflush(stdout); scanf("%d",&year); printf("月: "); fflush(stdout); scanf("%d",&month); printf("日: "); fflush(stdout); scanf("%d",&day); /* Obtenir les informations actuelles du temps et modifier les informations d'entrée de l'utilisateur */ time(&rawtime); timeinfo = localtime(&rawtime); timeinfo->tm_year = year - 1900; timeinfo->tm_mon = month - 1; timeinfo->tm_mday = day; /* Appel de mktime: timeinfo->tm_wday */ mktime(timeinfo); printf("那一天是:%s\n", weekday[timeinfo]}->tm_wday]); return 0; }
让我们编译并运行上面的程序,这将产生以下结果:
年: 2018 月: 7 日: 26 那一天是:星期四