该章笔记重要的是时间和日期模块。编写demo测试如下。
#include<time.h>
#include<stdio.h>
int main(){
time_t calender_time; //该时间是国际标准时间,使用time_t表示,是一个1970年到现在的秒数。该时间也称为日历时间,所有地区都以格林尼治所在时区为准。
struct tm* timenow ; //tm是一个时间结构体。
time(&calender_time); //time函数会填充time_t,返回值也是time_t
printf("time() return is %d\n",calender_time);
timenow = localtime(&calender_time); //localtime()将日历时间转换为以年月日。。表示形式,并存到的tm结构体中,得到本地时间和1970年的差值。localtime的时间受时区环境变量TZ的影响。
printf("Local time is %s\n", asctime(timenow));
struct tm* mGmtime;
mGmtime = gmtime(&calender_time); //gmtime将日历时间变为gmt的tm结构体形式。
printf("GMT time() return is %s\n", asctime(mGmtime));
time_t mMktime = mktime(mGmtime);
printf("mktime() return is :%d\n", mMktime);
printf("ctime() return is : %s \n", ctime(&calender_time)); //ctime和asctime返回一个26字符的字符串,但是ctime的参数是time_t,asctime()的参数是tm 结构体。
}
返回值:
time() return is 1546654974
Local time is Fri Jan 4 21:22:54 2019
GMT time() return is Sat Jan 5 02:22:54 2019
mktime() return is :1546672974
ctime() return is : Fri Jan 4 21:22:54 2019
网友评论