2012-12-01 81 views
2

如何知道1970年1月1日00:00:00之間和現在使用timeval之間的秒數和微秒數?謝謝。TimeVal Struct Seconds and Microseconds

struct timeval { 
    long tv_sec; /*seconds since 1/1/1970*/ 
    long tv_usec; /*microseconds since tv_sec*/ 
}; 
+0

爲什麼你認爲'timeval'是解決問題了嗎? – cdarke

+0

當你說使用timeval時,你的意思是你想添加1970年到''timeval的秒/微秒? –

回答

2

你叫gettimeofday()

struct timeval tv; 
gettimeofday(&tv, NULL); 
tv.tv_sec /* seconds */ 
tv.tv_usec /* microseconds */ 

然而gettimeofday()陳舊,手冊建議clock_gettime(2)代替:

struct timespec tp; 
clock_gettime(CLOCK_REALTIME, &tp); 
tp.tv_sec /* seconds */ 
tp.tv_usec /* nanoseconds divide by 1000 to get microseconds*/