通过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);
}
噢,甜蜜的,即工作。非常感谢! 快速后续问题,是否有可能使用gettimeofday()以毫秒为单位获取time_t对象,比如time(Null)如何以秒为单位返回time_t对象。 – iman453 2010-07-30 19:32:10
这里你去,时间()与μs。除以1000得到ms。 – mvds 2010-07-30 19:43:41