一、鸡肋
UTC,Coordinated Universal Time,协调世界时间,就是大家熟知的格林威治时间(Greenwich Mean Time,GMT)
Calendar Time:日历时间,所谓的日历时间就是用“从一个标准的时间点(如1970年1月1日0点),到此时经过的秒数”来表示的时间
二、时间编程
1、获取日历时间:time_t time(time_t * tloc);
怎么用:
(1)需要引入头文件:#include <time.h>
(2)time_t,的原型是 typedef long time_t
(3)获取从1970年1月1日0点到现在所经历的秒数
(4)如果time的形参不为NULL,则此函数还可以把结果返回到tloc指向的变量中去
2、时间转化:
(1)struct tm * gmtime(const time_t * timep);
(2)struct tm * localtime(const time_t * timep)
怎么用:
(1)将日历时间转化为grrnwich time(gm)格林威治时间,将结果保存到TM结构体中
(2)将日历时间转化为本地时间,将结果保存到TM结构体中
(3)看下tm结构的庐山真面目:
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;//日光节约时间 }
3、时间显示函数:
(1)将tm格式的时间转化为字符串,如 Sat Jul 30 08:43:03 2005
char * asctime(const struct tm * tm);
(2)将日历时间转化为本地时间的字符串形式,如Jul 30 08:43:03 2005
char * ctime(const time_t * timep);
4、获取今天的时间函数:int gettimeofday(struct timeval * tv,struct timezone * tz);
怎么用:
(1)获取从今天凌晨0点开始到现在所经历的秒数和微秒数,将结果保存到timeval这个结构中,它常用于计算事件的耗时、执行时间等。
(2)timeval的结构体样子:
stuct timeval{
int tv_sec; //秒数
int tv_usec;//微妙数
}
5、睡眠函数:
(1)使程序睡眠seconds秒:unsigned int sleep(unsigned int seconds) ;
(2)使程序睡眠usec微秒:void usleep(unsigned long usec);