* linux 时间是从格林威治标准时间1970年1月1日零晨零时开始的。
* time_t time(参数);
* 对于time() 有两种用法, 例:time_t cur_time 1 time(&cur_time);不用返回值
2 cur_time time(0); 用返回值。 返回的是long类型的值。
* ctime(time_t *) 用于将time()的返回值转换为 Sun May 23 20:14:44 2010 需要注意的是:返回的是字符串形式,最后带有一个'\n' 一定要注意。
* 我们怎样对时间进行运算那,这里就要借助于 结构题 struct 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--11
int tm_year; 1900之后的年数 对于2000 这个数是 100
int tm_wday; 0--6
int tm_yday; 0--365
int tm_isdst; //三态标志,为正表示夏时制有效 , 为负表示夏时制无效,0表示此信息不可用
}
* 可以用localtime(time_t *);也可以用gmtime(time_t *) 这个返回的没有加时区,所以不推荐使用gmtime()
注意localtime();返回值是 指针形式,所以我们可以 用以下两种形式:
time_t t
1 struct tm dt;
dt = *localtime(&t);
2 struct tm *dt;
dt = localtime(&t);
printf("the time is %d:%d:%d\n",dt.tm_hout,dt.tm_min,dt.tm_sec);
* 原型 :time_t mktime(time_t *) 这个函数用于自己定义一个struct tm 结构题,然后给他赋值,
下面的字段必须给赋值:
tm_sec
tm_min
tm_hour
tm_mday
tm_mon
tm_year
tm_isdst 这些赋值之后才能调用mktime()
tm_way,tm_yday 在函数返回后被赋值。
返回值是time_t 类型的所以可以调用统一的函数进行处理,例如 ctime()
* size_t strftime(char *s,size_t max, const char *format,const struct tm *tm);
参数 最后要保存到的字符串,大小,格式,原数据, 这个函数是将原数据按指定的格式输出到字符串s中。和sprintf()很相似。
阅读(392) | 评论(0) | 转发(0) |