zoukankan      html  css  js  c++  java
  • Linux中gmtime和localtime的区别

    前段时间用到,写了段小测试代码,个人觉得足够清楚的表明了二者的区别了,还是不明白的话,就看看APUE里面的章节吧。

    #include <time.h>
    #include <stdio.h>
    
    int main(int argc, char **argv)
    {
        time_t tmpcal_ptr = {0};
        struct tm *tmp_ptr = NULL;
    
        tmpcal_ptr = time(NULL);
        printf("tmpcal_ptr=%d\n", tmpcal_ptr);    
    
        tmp_ptr = gmtime(&tmpcal_ptr);
        printf("after gmtime, the time is:\n%d:%d:%d", tmp_ptr->tm_hour, tmp_ptr->tm_min, tmp_ptr->tm_sec);
    
        tmp_ptr = localtime(&tmpcal_ptr);
        printf("after localtime, the time is:\n%d:%d:%d", tmp_ptr->tm_hour, tmp_ptr->tm_min, tmp_ptr->tm_sec);
    
        return 0;
    }

    运行结果如下:


    基本的意思是,gmtime转出来的是0时区的标准时间

    localtime是将时区考虑在内了,转出的当前时区的时间。但是注意,有些嵌入式设备上被裁减过的系统,时区没有被设置好,导致二者转出来的时间都是0时区的。





  • 相关阅读:
    随笔
    洛谷
    洛谷
    洛谷
    (水题)洛谷
    洛谷
    (水题)洛谷
    洛谷
    (水题)洛谷
    (水题)洛谷
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3017456.html
Copyright © 2011-2022 走看看