您的位置:首页 > 编程语言 > C语言/C++

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

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



在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: