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 }

 

 

posted on 2010-09-01 21:14  虚怀若谷  阅读(1017)  评论(0编辑  收藏  举报

导航