linux 时间编程相关函数

时间的类型说明

Coordinated Universal Time(UTC):世界标准时间,格林威治标注时间(Greenwich Mean Time,GMT)。
Calendar Time :日历时间。1970110点到此时的秒数。

时间获取函数
time_t time(time_t *t);
功能描述:该函数返回从1970年1月1日00时00分00秒至今所经过的秒数。如果time_t *timer非空指针,函数也会将返回值存到timer指针指向的内存。
返回值:成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。

时间转化函数
struct tm *gmtime(const time_t *timep);
功能描述:gmtime( )将参数timep指向的日历时间信息转换成以tm结构体表示的GMT时间,并保存至struct tm 结构体中。

struct tm *localtime(const time_t *timep);
功能描述:localtime( )将参数timep指向的time_t时间信息转换成以tm结构体表示的本地时区时间。

time_t mktime(struct tm *tm);
功能描述:参数tm指向的tm结构体数据转换成从1970年1月1日00时00分00秒至今的GMT时间经过的秒数。

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 夏令时*/
};

时间显示函数
char *asctime(const struct tm *tm);
功能描述:将tm格式的时间转化为字符串形式

char *ctime(const time_t *timep);
功能描述:将日历时间转换成本地时间的字符串形式。

获取时间函数
int gettimeofday(struct timeval *tv, struct timezone *tz);
功能描述:日历时间存入timeval 结构体。当地时区星期存入 timezone 结构体。该函数常用于计算时间损耗

结构体原型

struct timeval{
    time_t      tv_sec;     /* 秒数 */
    suseconds_t tv_usec;    /* 微秒 */
};

struct timezone{
    int tz_minuteswest;     /* 与格林威治时间相差分钟数 */
    int tz_dsttime;         /* 日光节约时间的状态*/
};

z_dsttime 所代表的状态如下
DST_NONE /*不使用*/
DST_USA /*美国*/
DST_AUST /*澳洲*/
DST_WET /*西欧*/
DST_MET /*中欧*/
DST_EET /*东欧*/
DST_CAN /*加拿大*/
DST_GB /*大不列颠*/
DST_RUM /*罗马尼亚*/
DST_TUR /*土耳其*/
DST_AUSTALT /*澳洲(1986年以后)*/

延迟执行函数
unsigned int sleep(unsigned int seconds);
功能描述:使程序睡眠 seconds 秒。

int usleep(useconds_t usec);
功能描述:使程序睡眠 usec 微秒。

你可能感兴趣的:(linux 时间编程相关函数)