首页 / C++ / 浅谈C/C++的time_t函数
浅谈C/C++的time_t函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了浅谈C/C++的time_t函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1809字,纯文字阅读大概需要3分钟。
内容图文
![浅谈C/C++的time_t函数](/upload/InfoBanner/zyjiaocheng/1162/0387899f2eb14acbb4b9bb5006e66a31.jpg)
wordpress 博客链接:http://acmerbar.com/132.html
最近翻到《C专家编程》前言看到time_t函数,竟然一时之间全无概念,只是约莫知道是个有关时间的函数,这对已经学了C/C++的博主来说,简直是个嘲讽,本机测试了一下,大概是下面这个样子:
#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <time.h> using namespace std; /*常用的时间函数: */ ///将结构中的信息转换为真实世界的时间,以字符串的形式显示 char *asctime(const struct tm* timeptr); ///将timep转换为真实世界的时间,以字符串的形式显示,和asctime传入参数不一样 char *ctime(const time_t *timep); ///返回两个时间差的秒数 double difftime(time_t time1, time_t time2); ///返回当前距离1970年的秒数和微妙数,后面的tz是时区,一般不用 int get_time_of_day(struct timeval *tv,struct timezone *tz); ///将time_t表示的时间转换为没有经过时区转换的UTC时间,是一个struct tm结构指针 struct tm* gmtime(const time_t *timep); ///和gmtime类似,但是它是经过时区转换的时间。 struct tm* localtime(const time_t *timpe); ///将struct tm 结构的时间转换为从1970年至今的秒数 time_t mktime(struct tm* timeptr); ///取得从1970年1月1日至今的秒数。 time_t time(time_t *t); int main() { /*运行程序用系统命令date显示本机时间为: Thu Nov 26 12:53:13 2015*/ time_t biggest= 0x7fffffff; /// time_t所能表示的最大值 printf("biggest= %s \n", ctime(&biggest)); printf("biggest= %s \n", asctime(gmtime(&biggest))); /* 输出: biggest= Tue Jan 19 11:14:07 2038 biggest= Tue Jan 19 03:14:07 2038 我们发现整整差了8个小时,这是因为ctime()函数把参数转换为当地时间,跟世界统一时间UTC(格林尼治时间)并不一样 取决于所在的时区,参照上面函数说明可以知道: gmtime()函数是将time_t表示的时间转换为没有经过时区转换的UTC时间,是一个struct tm结构指针 */ /*可以测试一下下面两个例子*/ time_t timep; time(&timep); ///获取time_t类型的当前时间 printf("%s\n", asctime( gmtime(&timep))); /// 输出: Thu Nov 26 04:44:40 2015 ///没有经过时区转换的UTC时间 time_t timep; time(&timep); printf("%s\n", ctime(&timep)); ///输出: Thu Nov 26 12:53:13 2015 ///经过时区转换的UTC时间 return 0; }经过其他测试,我们可以总结:
time,gmtime,asctime 所表示的时间都是UTC时间,只是数据类型不一样;
而localtime,ctime 所表示的时间都是经过时区转换后的时间,它和你用系统命令date所表示的CST时间应该保持一致。
原文:http://blog.csdn.net/u013050857/article/details/50060787
内容总结
以上是互联网集市为您收集整理的浅谈C/C++的time_t函数全部内容,希望文章能够帮你解决浅谈C/C++的time_t函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。