库的行为在不同的Linux平台上调用localtime()

时间:2013-11-15 07:28:08

标签: c linux time timezone embedded-linux

如果时区在两者中设置相同,我想知道localtime在不同平台上的工作方式是否相同。如果是的话,除了时区之外还有什么依赖参数?

我在两个平台上运行:

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

int main()
{
    time_t t,t1;//,result;
    double d1;
    struct tm *tm;
    t1 = 1384496356;

    tm = localtime(&t1);

    printf("tm->tm_hour %d tm->tm_min %d\n",tm->tm_hour,tm->tm_min);
    return 0;
}

输出 tm->tm_mday 15 tm->tm_hour 11 tm->tm_min 33

tm->tm_mday 15 tm->tm_hour 6 tm->tm_min 3

2 个答案:

答案 0 :(得分:2)

硬件时钟和时区定义当地时间。

答案 1 :(得分:0)

代码中的

t1是自00:00:00 UTC,1970-01-01以来的秒数。如果您在不同的计算机上获得不同的时间,则意味着这些计算机上的实时时钟不同步,假设它们被配置为位于相同的时区。