time.h


time.h

文章插图
time.htime.h是C/C++中的日期和时间头档案 。用于需要时间方面的函式 。
基本介绍中文名:c语言时间头档案
外文名:time.h
类别:头档案
作用:从系统时钟获取时间方式
函式名称:localtime
代码示例【time.h】#include<stdio.h>#include<time.h>int main(){    time_t timer = time(NULL);    printf("ctime is %s\n", ctime(&timer));//得到日曆时间    return 0;}获取时间方式time_t time(time_t* timer)得到从标準计时点(一般是1970年1月1日午夜)到当前时间的秒数 。clock_t clock(void)得到从程式启动到此次函式调用时累计的毫秒数 。time函式函式名称: localtime函式原型: struct tm *localtime(const time_t *timer)函式功能: 返回一个以tm结构表达的机器时间信息函式返回: 以tm结构表达的时间,结构tm定义如下:#ifndef _TM_DEFINEDstruct 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()为负 。*/};#define _TM_DEFINED#endif参数说明: timer-使用time()函式获得的机器时间所属档案: <time.h>#include<time.h>#include<stdio.h>#include<dos.h>int main(){    time_t timer;    struct tm *tblock;    timer = time(NULL);    tblock = localtime(&timer);    printf("Local time is: %s", asctime(tblock));    return 0;}函式名称: asctime函式原型: char* asctime(struct tm * ptr)函式功能: 得到机器时间(日期时间转换为ASCII码)函式返回: 返回的时间字元串格式为:星期,月,日,小时:分:秒,年参数说明: 结构指针ptr应通过函式localtime()和gmtime()得到函式名称: ctime函式原型: char *ctime(const time_t *time)函式功能: 得到日曆时间函式返回: 返回字元串格式:星期,月,日,小时:分:秒,年参数说明: time-该参数应由函式time获得所属档案: <time.h>#include<stdio.h>#include<time.h>int main(){    time_t t;    time(&t);    printf("Today's date and time: %s", ctime(&t));    return 0;}函式名称: difftime函式原型: double difftime(time_t time2, time_t time1)函式功能: 得到两次机器时间差,单位为秒函式返回: 时间差,单位为秒参数说明: time1-机器时间一,time2-机器时间二.该参数应使用time函式获得所属档案: <time.h>#include<time.h>#include<stdio.h>#include<windows.h>int main(){    time_t start, end;    system("cls");//清屏    time(&start);    Sleep(5000);//等待5秒,Sleep()函式包含在windows.h的头档案里,以毫秒为单位    time(&end);    printf("The difference is: %f seconds", difftime(end, start));    return 0;}