关于C语言时间获取函数调用的概念

在C语言的程序开发过程中,经常会用到获取时间的函数。而获取到的时间又分为本地时间还有世界统一时间UTC。对于这两个概念,世界的每个地区都有自己的本地时间,在Internet及无线电通信时,时间的统一非常重要! 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信中,为统一而普遍使用一个标准时间,称为通用协调时。UTC与格林尼治平均时一样,都与英国伦敦的本地时相同。
关于C语言时间获取函数调用的概念_第1张图片

在C程序开发中,保存时间值的变量通常用time_t来定义,对于time_t的定义,它位于文件/user/include/time.h中,在我的机器中,它是long的typedef形式。

对于以下的这段程序

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

int main()
{
    time_t biggest = 0x7FFFFFFF;
    printf ("biggest = %s\n", ctime(&biggest));
    return 0;
}

//输出结果为:
    biggest =Tus Jan 19 11:14:07 2038

对于ctime函数,它是把参数转换为当地时间,它跟世界统一时间UTC并不一致,取决于你所在的地区。根据上图,我们国家是属于东8区,比伦敦时间(即UTC)早了8个小时。

对于UTC时间值的获取。则可以使用gmtime函数来获取,但这个函数并不返回一个可打印的字符串,所以需要配合asctime函数来获取这样的一个字符串。如以下代码:

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

int main()
{
    time_t biggest = 0x7FFFFFFF;
    printf ("biggest = %s\n", asctime(gmtime(&biggest)));
    return 0;
}

//输出结果为:
    biggest =Tus Jan 19 03:14:07 2038

你可能感兴趣的:(C语言,UTC,本地时间)