C语言时间处理相关函数
在标准C函数中,时间有两种表示格式:秒数和时间结构。针对这两种结构有两套相应的处理函数。具体可以参见代码。
1 // 作用:时间相关函数
2 // 总结:(1)时间有两种表示形式,一种用秒表示,一种用结构表示,两种结构能够相互转化(2)时间处理函数一般涉及本地化处理。
3 // 时间:2010-09-01
4
5 #include "stdafx.h"
6
7 int _tmain(int argc, _TCHAR* argv[])
8 {
9 //time_t为一个64位整形,保存自1970年1月1日来过去的秒数
10 time_t timep;
11
12 //tm为时间结构体,包括年、月、日、时、分、秒、星期几等
13 struct tm *p;
14
15 //time函数获取当前走过秒数,保存进参数或作为返回值返回
16 timep = time(&timep);
17
18 //输出走过的秒数
19 printf("自从1970年1月1日 00时00分00秒走过的秒数为:%d\n",timep);
20
21 //localtime和gmtime函数将秒数转化为时间结构
22 p = localtime(&timep);
23
24 //mktime则将时间结构转化为秒数
25 timep = mktime(p);
26
27 //注意年份要加上1900,月份加上一,因为月份范围(0~11)
28 char *wday[]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
29 printf ("%d年%d月%d日", (1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
30 printf(" %s%d:%d:%d\n", wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec);
31
32 //asctime和ctime都是将时间转化为字符串格式,不过asctime以时间结构为参数,ctime以秒数为参数
33 //如果需要本地化,需要本地化处理
34 printf("asctime(p) = %s\n",asctime(gmtime(&timep)));
35 printf("ctime(timep) = %s\n",ctime(&timep));
36
37 system("pause");
38 }
2 // 总结:(1)时间有两种表示形式,一种用秒表示,一种用结构表示,两种结构能够相互转化(2)时间处理函数一般涉及本地化处理。
3 // 时间:2010-09-01
4
5 #include "stdafx.h"
6
7 int _tmain(int argc, _TCHAR* argv[])
8 {
9 //time_t为一个64位整形,保存自1970年1月1日来过去的秒数
10 time_t timep;
11
12 //tm为时间结构体,包括年、月、日、时、分、秒、星期几等
13 struct tm *p;
14
15 //time函数获取当前走过秒数,保存进参数或作为返回值返回
16 timep = time(&timep);
17
18 //输出走过的秒数
19 printf("自从1970年1月1日 00时00分00秒走过的秒数为:%d\n",timep);
20
21 //localtime和gmtime函数将秒数转化为时间结构
22 p = localtime(&timep);
23
24 //mktime则将时间结构转化为秒数
25 timep = mktime(p);
26
27 //注意年份要加上1900,月份加上一,因为月份范围(0~11)
28 char *wday[]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
29 printf ("%d年%d月%d日", (1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
30 printf(" %s%d:%d:%d\n", wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec);
31
32 //asctime和ctime都是将时间转化为字符串格式,不过asctime以时间结构为参数,ctime以秒数为参数
33 //如果需要本地化,需要本地化处理
34 printf("asctime(p) = %s\n",asctime(gmtime(&timep)));
35 printf("ctime(timep) = %s\n",ctime(&timep));
36
37 system("pause");
38 }