1.time( )函数
头文件 | #include <time.h> |
---|---|
函数原型 | time_t time(time_t *timer) |
说明 | 求出从1970年1月1日0时0分0秒开始,到现在所经过的总时间,单位为(秒) |
返回值 | 返回从1970年1月1日0时开始到现在所经过的总时间,单位为(秒) |
time_t 数据类型表示日历时间,实体是可以进行加减乘除的算术类型,
<time.h>文件中的定义示例:typedef nusigned long time_t;
不同的运行环境将time_t作为unsigned int,unsigned long,或long long int的同义词
time函数获取时间可写成以下两种:
time_t current;
current=time(NULL);//NULL为空指针,不指向任何对象的指针;
time(¤t);//自动赋值给current;
但是,time函数返回的是自1990年来的总秒数,除非你是什么数学天才儿童,不然你看了也是白看,看不懂。
所以,一般用time函数得到时间后还需要用localtime函数,将其转换为能普通人秒懂的类型。
2.localtime( )
头文件 | #include <time.h> |
---|---|
函数原型 | struct tm *localtime(const time_t * timer) |
说明 | 将以秒数表示的时间转换成以tm结构体表达的时间 |
返回值 | 返回一个指向tm结构体的指针 |
tm结构体在<time.h>里的定义:
struct tm {
int tm_sec; /* 秒-取值区间为[0,61] ,考虑到闰秒*/
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日*/
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正;不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负*/
long int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/
const char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/
};
3.clock( )