变量的定义:
typedef long time_t;
struct tm
{
int tm_sec; // seconds after the minute - [0, 60] including leap second
int tm_min; // minutes after the hour - [0, 59]
int tm_hour; // hours since midnight - [0, 23]
int tm_mday; // day of the month - [1, 31]
int tm_mon; // months since January - [0, 11]
int tm_year; // years since 1900
int tm_wday; // days since Sunday - [0, 6]
int tm_yday; // days since January 1 - [0, 365]
int tm_isdst; // daylight savings time flag
};
函数声明:
time_t time(time_t * timer):返回自1970-1-1 00:00:00至今的秒数
struct tm localtime(time_t * _Time):将UTC的秒数转化为年(since1900)、月([0-11])、日、时、分、秒
time_t mktime(strcut tm * timeptr):将struct tm转化为自1970-1-1 00:00:00至今的秒数
函数使用示例:
#include <stdio.h>
#include <time.h>
void main(void)
{
time_t tm;
struct tm *local_tm;
tm = time(NULL);
printf("sec1 = %d\n", (long)tm);
local_tm = localtime(&tm);
printf("%4d-%02d-%02d %02d:%02d:%02d\n", (local_tm->tm_year+1900), (local_tm->tm_mon+1),
local_tm->tm_mday,local_tm->tm_hour, local_tm->tm_min, local_tm->tm_sec);
tm = mktime(local_tm);
printf("sec2 = %d\n", (long)tm);
}
编译结果:
sec1 = 1515406808
2018-01-08 18:20:08
sec2 = 1515406808
请按任意键继续. . .