为什么时间函数在c中返回毫秒而不是秒?

时间:2014-04-29 22:19:44

标签: c linux

C中的时间函数表示返回Linux系统上自纪元以来的秒数。当我打印出秒数时,我得到了139880488649秒但是数学没有加起来。我错过了什么?

139880488649 sec / 3600sec / 24小时/ 365天= 4435.581年。

我的关系是1000倍。时间不会在几秒钟内返回吗?

time_t curTime;

time(&curTime);

printf("sec = %d", curTime);

1 个答案:

答案 0 :(得分:3)

您显示的值(1,389,880,488,649)偏差1000倍。所以它看起来就像您以毫秒为单位获得时间。

在* nix和Linux上,time总是有并且仍然会在中返回值。

更新

Linux和POSIX指定time()的返回值为自纪元以来的秒数,另请参阅time。但是,ISO C对返回类型含糊不清,只讨论

  

实现与当前日历时间的最佳近似值。