c time.h
来源:互联网 发布:太平洋电脑软件下载 编辑:程序博客网 时间:2024/04/30 23:55
</pre><pre name="code" class="cpp"><pre name="code" class="cpp">#include <time.h>#include <string.h>/**用来保存秒数*/static time_t calendar_second;/**用来校准日历*/void cali_calendar(struct tm *p_cal){ calendar_second = mktime(p_cal);}/**得到日历*/void get_calendar(struct tm *p_cal){ memcpy(p_cal, localtime(&calendar_second), sizeof(struct tm));}/**更新计时用的秒数,参数表示要增加的秒数*/void update_calendar(int second){ calendar_second += second;}
time.h中的定义
struct tm {<p> int tm_sec; /* seconds after the minute - [0,59] */ int tm_min; /* minutes after the hour - [0,59] */ int tm_hour; /* hours since midnight - [0,23] */ int tm_mday; /* day of the month - [1,31] */ int tm_mon; /* months since January - [0,11] */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday - [0,6] */ int tm_yday; /* days since January 1 - [0,365] */ int tm_isdst; /* daylight savings time flag */ };</p>
上面的函数可以用作RTC日历。
如果获得一个准确的时间就调用void cali_calendar(struct tm *p_cal)把时间转化为从1900年所经历的秒数。注意夏令时。
struct tm s_cal1, s_cal2;s_cal1.tm_year = 2014 -1900;s_cal1.tm_mon = 10 -1;s_cal1.tm_mday = 1;s_cal1.tm_hour = 9;s_cal1.tm_min = 30;s_cal1.tm_sec = 0;s_cal1.tm_isdst = 0;//////////这个要设为0,否则可能会因为夏令时而差一个小时cali_calendar(&s_cal1);
然后每个一秒调用一次void update_calendar(1)。
然后需要得到年月日时分秒的时候就调用void get_calendar(struct tm *p_cal)。
如果想得到两天之间相隔的天数可以用
struct tm time1;struct tm time2;//time1设为某一天,注意夏令时//time2设为另一天int day;day = (mktime(&time1) - mktime(&time2))/(60*60*24);
0 0
- c语言 time.h
- C语言-time.h
- c library-time.h
- c time.h
- 探秘C time.h
- C time.h库函数
- C语言 <time.h>
- C语言time库(#include<time.h>)
- C语言time.h函数库
- C/C++中time.h
- C语言time.h函数库
- C/C++中time.h
- C语言time.h函数库
- C/C++中time.h
- c中time.h函数
- C/C++中time.h
- C语言-time.h从头学
- C语言-time.h从头学
- POJ 1731 Orders(全排列)
- 基于分析的amb求值器,及其分析
- java中的数组(六)
- 第3章栈和队列
- COGNOS10的Eclipse远程调试
- c time.h
- HDU ACM 1052
- UVA11419 我是SAM
- [LeetCode OJ]Climbing Stairs
- 随机数判断奇偶数求平方根后类型转换
- android应用开发详解(二十一)-----------------------SQLite
- “理”在心中
- 【UVA】1449-Dominating Patterns(AC自动机)
- CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)