linux下的时间转换函数
15页1、linux下的时间函数我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的年、月、日、时、分、秒,星期等),或者是隔一段时间去做某事,那么我们就用到一些时间函数。linux下存储时间常见的有两种存储方式,一个是从1970年到现在经过了多少秒,一个是用一个结构来分别存储年月日时分秒的。time_t 这种类型就是用来存储从1970年到现在经过了多少秒,要想更精确一点,可以用结构struct timeval,它精确到微妙。structtimevallongtv_sec;/*秒*/longtv_usec;/*微秒*/;而直接存储年月日的是一个结构:structtminttm_sec;/*秒,正常范围0-59, 但允许至61*/inttm_min;/*分钟,0-59*/inttm_hour;/*小时, 0-23*/inttm_mday;/*日,即一个月中的第几天,1-31*/inttm_mon;/*月, 从一月算起,0-11*/inttm_year;/*年, 从1900至今已经多少年*/inttm_wday;/*星期,一周中的第几天, 从星期日算起,0-6*/inttm_yday;/*
2、从今年1月1日到目前的天数,范围0-365*/inttm_isdst;/*日光节约时间的旗标*/;需要特别注意的是,年份是从1900年起至今多少年,而不是直接存储如2008年,月份从0开始的,0表示一月,星期也是从0开始的, 0表示星期日,1表示星期一。下面介绍一下我们常用的时间函数:#includechar*asctime(conststructtm*timeptr);将结构中的信息转换为真实世界的时间,以字符串的形式显示char*ctime(consttime_t*timep);将timep转换为真是世界的时间,以字符串显示,它和asctime不同就在于传入的参数形式不一样doubledifftime(time_ttime1,time_ttime2);返回两个时间相差的秒数intgettimeofday(structtimeval*tv,structtimezone*tz);返回当前距离1970年的秒数和微妙数,后面的tz是时区,一般不用structtm*gmtime(consttime_t*timep);将time_t表示的时间转换为没有经过时区转换的UTC时间,是一个struc
3、ttm结构指针stucttm*localtime(consttime_t*timep);和gmtime类似,但是它是经过时区转换的时间。time_tmktime(structtm*timeptr);将structtm结构的时间转换为从1970年至今的秒数time_ttime(time_t*t);取得从1970年1月1日至今的秒数。上面是简单的介绍,下面通过实战来看看这些函数的用法:下载:gettime1.c1. /*gettime1.c*/2. #include3.4. intmain()5. 6. time_ttimep;7.8. time(&timep);/*获取time_t类型的当前时间*/9. /*用gmtime将time_t类型的时间转换为struct tm类型的时间按,10. 然后再用asctime转换为我们常见的格式 Fri Jan 11 17:25:24 200811. */12. printf(%s,asctime(gmtime(&timep);13. return0;14. 编译并运行:$gcc -o gettime1 gettime1.c$./gettime1Fr
4、i Jan 11 17:04:08 2008下面是直接把time_t类型的转换为我们常见的格式:下载:gettime2.c1. /* gettime2.c*/2. #include3.4. intmain()5. 6. time_ttimep;7.8. time(&timep);/*获取time_t类型当前时间*/9. /*转换为常见的字符串:Fri Jan 11 17:04:08 2008*/10. printf(%s,ctime(&timep);11. return0;12. 编译并运行:$gcc -o gettime2 gettime2.c$./gettime2Sat Jan 12 01:25:29 2008我看了一本书上面说的这两个例子如果先后执行的话,两个的结果除了秒上有差别之外(执行程序需要时间),应该是一样的,可是我这里执行却发现差了很长时间按,一个是周五,一个是周六,后来我用 date 命令执行了一遍$date六 1月 12 01:25:19 CST 2008我发现date和gettime2比较一致, 我估计可能gettime1并没有经过时区的转换,它们是有差别的。下载
《linux下的时间转换函数》由会员re****.1分享,可在线阅读,更多相关《linux下的时间转换函数》请在金锄头文库上搜索。
半年工作安排
鄂教版四年级语文上册期中模拟考试带答案.doc
关于轮胎的海关编码.doc
2023年风险警示板主题的励志文章.docx
微生物检验复习题专业知识.doc
连锁企业股权转让协议模板(7篇)
优秀学生发言稿
【3套】人教版(湖北)八年级数学下册:第二十章单元检测题.doc
2023年求职面试时常被问到的65个问题与技巧性回答
2023年社区安全生产工作计划.docx
2023年支教女大学生赵小婷先进事迹材料.doc
《一景一世界——如何在记叙文中穿插景物描写》效果分析.doc
钢管吊装专项方案.doc
2023年年终工作总结开头语.docx
葛红美孵化教师模仿课2.doc
小学语文教学不妨借鉴山水画意境.doc
2023年乡镇质监局年度法治工作总结及工作计划.docx
护士个人竞聘上岗演讲稿范文
鲁昕:职业教育是解决就业结构性矛盾重要举措.doc
错投对快递业责任限制规则具有排除效力【推荐下载】.doc
2023-11-12 16页
2023-08-13 9页
2024-02-15 6页
2023-04-25 8页
2023-05-20 2页
2023-02-26 4页
2023-09-13 23页
2023-04-21 6页
2022-12-15 2页
2022-12-02 2页