今天在搞嵌入式设备时,发现一个关于时区的问题:

   我调用time(NULL) 得到当前系统的UTC时间

   再用localtime(xx) 将这个UTC时间解析成本地时间时,采用设置好时区的Ubuntu可以正确得出

   但是将该程序编译好之后,放到嵌入式设备上面运行,发现时间少了8小时。

  1: 说明这是我动态编译的结果,改程序会在嵌入式内核中动态调用localtime这个API 从而得到0时区的本地时间

        可以尝试在Ubuntu编译的时候 用 gcc -static 编译 强制生成 静态编译后的结果 (没有试过,不过感觉应该可以)

  2: 袁师兄说 重新编译内核,在编译模块中加上RTC模块,之后boot的时候应该就有时区可以确定。

   3: 实在没办法,就强制加上8小时吧。。。

相关文章:

  • 2021-09-30
  • 2021-11-29
猜你喜欢
  • 2021-06-06
  • 2022-02-13
  • 2021-05-25
相关资源
相似解决方案