1.gettimeofday()
功能:获得当前精确时间(1970年1月1日到现在的时间)
头文件:#include <sys/time.h>
函数原型:int gettimeofday(struct timeval*tv, struct timezone *tz);
结构体定义:
struct timeval
{
long int tv_sec; // 秒数
long int tv_usec; // 微秒数
}
struct timezone
{
int tz_minuteswest;/*格林威治时间往西方的时差*/
int tz_dsttime;/*DST 时间的修正方式*/
}
不需要哪项我们传入NULL即可。
一般来说我们只使用timeval,这样我们就可以获取当前时间。
例子:
struct timeval nowtime;
gettimeofday(&nowtime, NULL);
2.gmtime()
功能:gmtime是把日期和时间转换为格林威治(GMT)时间的函数
头文件:time.h
函数原型:struct tm *gmtime(const time_t *timeptr)
这里我们只需要传入秒数即可
联合上边得gettimeofday,如下所示
time_t t;
struct tm* p;
long long time=(long long)nowtime.tv_sec + (long long)nowtime.tv_usec / 1000000;
t=time+28800 //这里加28800 是将时间转为北京时间
p=gmtime(&t);
p就为我们得到的北京时间,
最后使用strftime()函数将时间输入打印即可
这样我们就可以使用程序获取到当前的时间