0

所以我使用函数来获取时间,偏移量为 555550,其值应为 10:19:09。但是当我使用 gmtime 和 asctime 时,我得到的值是 10 秒而不是 9 秒,而且我不明白为什么我会延迟一秒。谁能解释一下?

这是我正在测试的代码:

#include <stdio.h>
#include <time.h>

int main (void) 
{
    time_t now = 555550;
    printf ("The time is %s", asctime (localtime (&now)));
    printf ("UTC time is %s", asctime (gmtime (&now)));
    return 0;
}
4

2 回答 2

3

你的计算是错误的:见http://www.epochconverter.com/。10秒是正确的。一个能被 10 整除的数字在被 60 修改后怎么会变成 9?

于 2012-11-03T16:38:40.253 回答
1

根据http://www.epochconverter.com/ 555550 的值是格林威治标准时间 1970 年 1 月 7 日星期三 10:19:10,因此您关于 555550 为 10:19:09 的假设是错误的。

于 2012-11-03T16:43:58.740 回答