0

是否可以在 C 中通过 settimeofday() 我的 time_t/epoch 时间值?有人可以给我一个例子来说明我是如何做到的……我的 C 技能有点生疏:S

可不可能是:

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

我在我工作的地方没有管理员访问权限,因此无法对其进行测试。

提前致谢!

4

1 回答 1

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);
}
于 2010-07-30T19:22:20.517 回答