2011-12-08 91 views
1

我尝试使用gettimeofday函数,但它计算自Epoch以来经过的时间, 并且这不是我所需要的。如何获得UTC时间(以毫秒为单位)

有人可以帮忙吗?

+0

你真的需要什么? –

+0

那是不是你想要的? (你可以很容易地将结构timeval中的秒/微秒转换为例如很长的一个毫秒) – nos

+0

另外,你可以参考这已经回答[question](http://stackoverflow.com/questions/5362577/c-gettimeofday-为计算时间)在stackoverflow –

回答

7

我认为这应该适合你。

#include <time.h> 
#include <stdlib.h> 
#include <stdio.h> 

int main(void) 
{ 
    char buffer[30]; 
    struct timeval tv; 

    time_t curtime; 



    gettimeofday(&tv, NULL); 
    curtime=tv.tv_sec; 

    strftime(buffer,30,"%m-%d-%Y %T.",localtime(&curtime)); 
    printf("%s%ld\n",buffer,tv.tv_usec); 

    return 0; 
} 
+0

谢谢!它的工作 – kakush

+1

我建议使用'localtime_r',否则它要么非常低效或不是线程安全的。 – 2011-12-15 20:36:20

+0

'#include '(为gettimeofday)编译时需要 –

相关问题