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  }

 

 

你可能感兴趣的:(C语言)