日期:2014-05-16  浏览次数:20824 次

Linux下时间和定时器

http://blog.chinaunix.net/u1/35065/showart_1870601.html
重点读了第三种方法。文章写得很好,加了一点点注释

可参考 http://linux.die.net/man/3/timer_settime
????? ??????? http://linux.die.net/man/2/setitimer?
????????????? http://opengroup.org/onlinepubs/007908799/xsh/timer_settime.html

---毫秒---微秒---纳秒 (数量级:1000

一、问题的提出
我们开发程序时,经常会遇到时间和定时器的问题,为了更好的使用时间和定时器,现在列举一个一些时间结构体、函数和定时器。

二、解决思路
1.
时间类型
1) time_t
是一个长整型,一般用来表示用1970年以来的秒数。

2)struct timeval有两个成员,一个是秒,一个是微妙。

struct timeval
{?????????????
long tv_sec;??????? /* seconds */????????
long tv_usec;?? /* microseconds */??
};

3) struct timespec有两个成员,一个是秒,一个是纳秒。

struct timespec
{
? ?time_t tv_sec;????????? /* seconds */
?? long??? tv_nsec;??????? /* nanoseconds */
};

4) struct tm是直观意义上的时间表示方法

struct tm
{??????????????????
int???? tm_sec;???????? /* seconds */???????????????????
int???? tm_min;???????? /* minutes */?????????????????????
int???? tm_hour;??????? /* hours */??????????????????
int???? tm_mday;???????? /* day of the month */????????????????????????
int???? tm_mon;???????? /* month */????????????????????
int???? tm_year;??????? /* year */??????????????????
int???? tm_wday;???????? /* day of the week */????????????????????????
int???? tm_yday;??????? /* day in the year */??????????????????????????
int???? tm_isdst;??????? /* daylight saving time */???????????
};