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

Study Linux - 时间编程

2013-07-20 14:08 281 查看
1、时间类型

Coordinated Universal Time(UTC):世界标准时间,即格林威治标准时间(Greenwich Mean Time, GMT)。

Calendar Time:日历时间,是用“从一个标注时间点(如1970年1月1日0点)到此时经过的秒数”来表示的时间。

2、时间获取

#include <time.h>

time_t time(time_t *timer)

函数功能:得到机器的日历时间或者设置日历时间

返回值:机器日历时间

参数说明: timer=NULL时得到日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型。

3、时间转化

(1)struct tm *gmtime(const time_t *timep)

所属文件:<time.h>

函数功能:得到以tm结构表示的时间信息

函数返回:以结构tm表示的时间信息指针

参数说明:timep-指针,指向用函数time()得到的时间信息

(2)struct tm *localtime(const time_t *timep)

函数功能:返回一个以tm结构表示的时间信息

函数返回:以tm结构表示的时间

参数说明:timep-指针,指向用函数time()得到的时间信息

struct tm{
int tm_sec; //秒值
int tm_min; //分钟值
int tm_hour; //小时值
int tm_mday; //本月第几日
int tm_mon; //本年第几月
int tm_year; //tm_year +1900=哪一年
int tm_wday; //本周第几日
int tm_yday; //本年第几日
int tm_isdst; //日光节约时间
}

4、时间显示
(1)char *asctime(const struct tm *tm)

函数功能:得到机器时间(日期时间转换为ASCII码),将tm格式的时间转化为字符串

函数返回:返回时间字符串,其格式为——星期,月,日,小时:分:秒,年

参数说明:结构指针tm应通过localtime()和gmtime()得到

所属文件:<time.h>

(2)char *ctime(const time_t *timep)

函数功能:将日历时间转化为本地时间的字符串形式

函数返回:返回字符串格式:星期,月,日,小时:分:秒,年

参数说明:timep-指针,指向有time()函数获得的数值

所属文件:<time.h>

5、获取时间

#include <sys/time.h>

int gettimeofday(struct timeval *tv, struct timezone *tz)

函数功能:获取从今日凌晨到现在的时间差,常用于计算事件耗时。

函数返回:成功返回0; 失败返回-1,错误代码存于errno中。

参数说明:

该函数会把目前的时间用tv结构体返回,当地时区信息则放到tz结构中。

struct timeval{
long tv_sec; //秒
long tv_usec; //微秒
}

stuct timezone{
int tz_minuteswest; //和greenwich时间差了多少分钟
int tz_dsttime; //DST时间的修正方式
}


timezone参数若不是用则传入NULL即可。

6、延时执行

(1)unsigned int sleep(unsigned int seconds)

功能:使程序睡眠seconds秒。

(2)void usleep(unsigned long usec)

功能:使程序睡眠usec微秒。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息