2010-07-30 65 views
0

是否可以在C中傳遞settimeofday()我的time_t/epoch時間值?可能有人給我的,我怎麼能做到這一點的例子......我的C技能是有些生疏:S通過settimeofday()紀元時間?

難道是:

time_t time = somevalue; 
settimeofday(somevalue, NULL); 

我沒有管理員權限在那裏我工作,所以不能測試出來。

在此先感謝!

回答

3

settimeofday()強制採取struct timeval *作爲第一個參數,所以你應該做

struct timeval tv; 

tv.tv_sec = somevalue; 
tv.tv_usec = 0; 

settimeofday(&tv,NULL); 

後續編輯的gettimeofday()是交流:

struct timeval tv; 

if (!gettimeofday(&tv,NULL)) // *always* check return values ;-) 
{ 
    long long microsince1970; 
    microsince1970 = tv.tv_sec*1000000 + tv.tv_usec; 
    printf("it's been %lld µs ago\n",microsince1970); 
} 
+0

噢,甜蜜的,即工作。非常感謝! 快速後續問題,是否有可能使用gettimeofday()以毫秒爲單位獲取time_t對象,比如time(Null)如何以秒爲單位返回time_t對象。 – iman453 2010-07-30 19:32:10

+0

這裏你去,時間()與μs。除以1000得到ms。 – mvds 2010-07-30 19:43:41