首先介绍两个函数:
(1) int gettimeofday(struct timeval*tv, struct timezone *tz)
所属头文件:
其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果:
而结构体timeval的定义为:
其返回值是从1970-1-1日到现在的的时间,可以精确到微妙级。
(2)struct tm *localtime_r(const time_t *timep, struct tm *result);(可重入)
所属头文件
其中result是保存转换时间结果的结构体
struct tm的结构为
实例:
#include
#include
#include
#include
int main() { struct timeval tv; gettimeofday(&tv,NULL);//获取1970-1-1到现在的时间结果保存到tv中 uint64_t sec=tv.tv_sec; uint64_t min=tv.tv_sec/60; struct tm cur_tm;//保存转换后的时间结果 localtime_r((time_t*)&sec,&cur_tm); char cur_time[20]; snprintf(cur_time,20,"%d-%02d-%02d %02d:%02d:%02d",cur_tm.tm_year+1900,cur_tm.tm_mon+1,cur_tm.tm_mday,cur_tm.tm_hour,cur_tm.tm_min,cur_tm.tm_sec); printf("current time is %s\n",cur_time);//打印当前时间 }
结果:

谢谢阅读,欢迎指出错误!!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208033.html原文链接:https://javaforall.net
