大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
原型:time_t mktime(struct tm *) 其中的tm结构体定义如下: struct tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值区间为[0,23] */ int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */ int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */ int tm_year; /* 年份,其值等于实际年份减去1900 */ int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */ int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */ int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/ }; 我们只要给出年月日时分秒,然后用mktime()就可以,获取的星期存在tm_wday中。 貌似日期写错了也会自动换过来,比如写个1月32号会自己换成2月1号,很强大。 表头文件 #include 定义函数 time_t mktime(strcut tm * timeptr); 函数说明 mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。 返回值 返回经过的秒数。 范例 /* 用time()取得时间(秒数),利用localtime() 转换成struct tm 再利用mktine()将struct tm转换成原来的秒数*/ #include #include main() { time_t timep; strcut tm *p; time(&timep); printf("time() : %d \n",timep); p=localtime(&timep); timep = mktime(p); printf("time()->localtime()->mktime():%d\n",timep);
//获取时间差
struct tm tnNormal;
time_t tNormal;
tNormal.year = 2010-1900;
tNormal.tm_mon= 1-1;
tNormal.tm_mday=1;
tNormal.tm_hour=0;
tNormal.tm_min=0;
tNormal.tm_sec=0;
tNormal.tm_isdst=0;
tNormal =mktime(&tmNormal);
time_t tcur = time(0);
long defferent = difftime(tcur,tNormal);
} 执行 time():974943297 time()->localtime()->mktime():974943297
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166430.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...