您的位置:首页 > 运维架构 > Linux

linux 时间编程相关函数

2015-06-28 13:42 567 查看
时间的类型说明

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


时间获取函数

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 微秒。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: