time.h使用总结

time.h常用函数总结

 

1 time_t time(
2     time_t*  timer // 一般设置为NULL
3 ); 
4 
5 //time_t就是long,得到此时距1970.01.01午夜的秒数

 

1 struct tm *localtime(
2     const time_t *timer
3 );
4 
5 //返回一个以tm结构表达的机器时间信息
1 char* asctime(
2     struct tm * ptr
3 );
4 
5 //得到"星期,月,日,小时:分:秒,年"的格式
6 //eg: Wed Dec 24 17:26:44 2014
1 double difftime(
2     time_t time2, 
3     time_t time1
4 );
5 
6 //计算两个日历时间的差(秒数)
1 size_t strftime(
2     char *strDest,  //格式化到
3     size_t maxsize,  //最大格式化数
4     const char *format,  //以某种格式化方式常用 %Y-%m-%d %H:%M:%S
5     const  struct tm *timeptr //将此时间
6 );
7 
8 //格式化时间

time.h常用结构总结

 1 struct tm{
 2     int tm_sec;      /* Seconds.     [0-60] (  leap second) */
 3     int tm_min;      /* Minutes.     [0-59] */
 4     int tm_hour;     /* Hours.       [0-23] */
 5     int tm_mday;    /* Day.         [ -3 ] */
 6     int tm_mon;      /* Month.       [0-  ] */
 7     int tm_year;     /* Year -  900. */
 8     int tm_wday;     /* Day of week. [0-6] */
 9     int tm_yday;     /* Days in year.[0-365] */
10     int tm_isdst;    /* DST.         [- /0/ ]*/
11 #ifdef __USE_BSDlong int tm_gmtoff;   /* Seconds east of UTC. */
12     __const char *tm_zone;        /* Timezone abbreviation. */
13 #elselong int __tm_gmtoff;         /* Seconds east of UTC. */
14     __const char *__tm_zone;      /* Timezone abbreviation. */
15 #endif
16 };

strftime函数格式记录

 1 %a 星期几的简写
 2 %A 星期几的全称
 3 %b 月分的简写
 4 %B 月份的全称
 5 %c 标准的日期的时间串
 6 %C 年份的后两位数字
 7 %d 十进制表示的每月的第几天
 8 %D 月/天/ 9 %e 在两字符域中,十进制表示的每月的第几天
10 %F 年-月-11 %g 年份的后两位数字,使用基于周的年
12 %G 年分,使用基于周的年
13 %h 简写的月份名
14 %H 24小时制的小时
15 %I 2小时制的小时
16 %j 十进制表示的每年的第几天
17 %m 十进制表示的月份
18 %M 十时制表示的分钟数
19 %n 新行符
20 %p 本地的AM或PM的等价显示
21 %r 2小时的时间
22 %R 显示小时和分钟:hh:mm %S 十进制的秒数
23 %t 水平制表符 %T 显示时分秒:hh:mm:ss
24 %u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
25 %U 第年的第几周,把星期日做为第一天(值从0到53)
26 %V 每年的第几周,使用基于周的年
27 %w 十进制表示的星期几(值从0到6,星期天为0)
28 %W 每年的第几周,把星期一做为第一天(值从0到53)
29 %x 标准的日期串
30 %X 标准的时间串
31 %y 不带世纪的十进制年份(值从0到99)
32 %Y 带世纪部分的十制年份
33 %z,%Z 时区名称,如果不能得到时区名称则返回空字符.%% 百分号

例子代码

 1 #include <stdio.h>
 2 #include <time.h>
 3 
 4 int main(void)
 5 {
 6     time_t timer;
 7     timer = time(NULL);
 8 
 9     printf("%ld\n", timer);
10 
11     struct tm *ptr = localtime(&timer);
12     printf("%d.%d.%d %d:%d:%d\n",
13            ptr->tm_year, ptr->tm_mon, ptr->tm_mday,
14             ptr->tm_hour, ptr->tm_min, ptr->tm_sec);
15 
16     printf("%s\n", asctime(ptr));
17 
18     printf("%s\n", ctime(ptr));
19 
20     _sleep(2000);
21     time_t timer2;
22     timer2 = time(NULL);
23     printf("%f\n", difftime(timer2, timer));
24 
25     char strDest[20];
26     strftime(strDest, sizeof(strDest), "%Y-%m-%d %H:%M:%S", ptr);
27 
28     printf("%s\n", strDest);
29 
30     return 0;
31 }

运行结果

 

 

 

 

 

 

posted @ 2014-12-24 17:37  IFPELSET  阅读(375)  评论(0编辑  收藏  举报