在Linux系统应用中,经常需要获得当前的时间信息,Linux内核提供了一些相应函数用于操作,对其标准调用格式格式说明如下:
#include <time.h>
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep);
struct tm *gmtime(const time_t *timep);
struct tm *gmtime_r(const time_t *timep, struct tm *result);
struct tm *localtime(const time_t *timep);
struct tm *localtime_r(const time_t *timep, struct tm *result);
time_t mktime(struct tm *tm);
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv, const struct timezone *tz);
各个时间函数的关系说明如图1所示,对其详细说明如下:
图1 Linux的时间函数的相互关系
时间函数的介绍:在#include <sys/time.h>的头文件中
- asctime 函数:将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结构以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:“Wed JUN 30 21:49:08 1990/n”。该函数的参数是tm指针指向的存储空间,返回值是表