0

したがって、関数を使用して、オフセットが 555550 の時刻から時刻を取得すると、値は 10:19:09 になります。しかし、gmtime と asctime を使用すると、値が 9 秒ではなく 10 秒になり、1 秒ずれている理由がわかりません。誰かこれを説明してくれませんか?

私がテストしているコードは次のとおりです。

#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 GMT であるため、555550 が 10:19:09 であるという仮定は間違っていました。

于 2012-11-03T16:43:58.740 に答える