通过settimeofday()纪元时间?

通过settimeofday()纪元时间?

问题描述:

是否可以在C中传递settimeofday()我的time_t/epoch时间值?可能有人给我的,我怎么能做到这一点的例子......我的C技能是有些生疏:S通过settimeofday()纪元时间?

难道是:

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

我没有管理员权限在那里我工作,所以不能测试出来。

在此先感谢!

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