C语言time 函数

使用time函数需要包含头文件 #include <time.h>
gmtime() 和localtime() 函数原型

关于时区
可参考以下链接
百度百科
https://baike.baidu.com/item/%E6%97%B6%E5%B7%AE/1305648?fr=aladdin

时间网
http://www.shijian.cc/shiqu/

tm *gmtime( const time_t * _time)   //获取世界标准时间格林威治时间 UTC(+0)
tm *localtime( const time_t * _time)//获取本地时间,会随着本地时间时区的更改改变

gmtime和locatime 计算时间以1970年为基点,同时计算时间是以秒计算的。time_t 实际上是 typedef long long time_t

localtime

 time_t now = 0;   tm *localnow = localtime( &now);std::cout << localnow -> tm_hour << std::endl;

实例中,设置now 值为0;在localtime()函数中,就表示1997年1月1 号的0点0分0秒 。
但由于时区影响,输出的时间是不同的。这时候将系统时间时区重新后,在启动程序,输出值是变化的。北京时间的话,输出应该是8。

 time_t now = time(NULL);     或者  time_t t ; time(&t);tm *localnow = localtime( &now);std::cout << localnow -> tm_hour << std::endl;

此时t 为time()函数返回的1970 年开始到现在的秒数。并通过localtime() 函数将相应结果赋值给结构体变量localnow, 通过结构体变量localnow 内的变量可以得出本地时间。
或者直接使用 char asctime( const tm _time)函数来直接获取本地时间。

 time_t now = 0;   tm *localnow = gmtime( &now);    //获取的是格林威治时间 (UTC+0)std::cout << localnow -> tm_hour << std::endl;   //输出值为零

不管本地时区,只返回格林威治时间。所以输出的是0;

结构体tm
struct tm {
int tm_sec; /*秒 值范围 - [0,59] */
int tm_min; /*分 值范围- [0,59] */
int tm_hour; /*小时 - [0,23] /
int tm_mday; /
月中第几天 - [1,31] /
int tm_mon; /
第几个月 - [0,11] /
int tm_year; /
多少年 ,需要求年份,需要再加1900/
int tm_wday; / 一周中的第几天 - [0,6] /
int tm_yday; /
一年中的第几天 1 - [0,365] /
int tm_isdst; /
夏令时标志 */
};

总结

gmtime() 和localtime() 将time_t 类型值,当作秒计算从1970 年开始的时间计算,并将相应值赋给结构体 tm 。可以通过结构体变量去访问相应的结果。

C语言 time 函数使用相关推荐

  1. 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?

    但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...

  2. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  3. R语言sqrt函数为数值开平方根实战

    R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根

  4. R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数

    R语言数学函数:abs绝对值.sqrt平方根.ceiling向上近似整数.floor向下近似整数.trunc去除小数部分.round近似到指定小数位.signif近似到有效数字.三角函数.指数.对数 ...

  5. R语言sd函数计算数值标准差实战(Standard Deviation)

    R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd

  6. R语言optimize函数一维优化实战

    R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数

  7. R语言rev函数对数据对象(向量、dataframe通过行或者列)反序实战

    R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战 目录 R语言rev函数对数据对象(向量.dataframe通过行或者列)反序实战

  8. R语言用户自定义函数的语法结构、编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)、编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)、应用自定函数

    R语言用户自定义函数的语法结构.编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等).编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据).应用自定函数 ...

  9. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数

    R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...

  10. R语言percent函数用百分比表示数值实战

    R语言percent函数用百分比表示数值实战 目录 R语言percent函数用百分比表示数值实战 #仿真数据

最新文章

  1. ES6对象(1):新增语法与API
  2. JavaScript操作BOM简单案例
  3. mongodb上一篇下一篇_如何使用Microsoft office word—上一篇
  4. MATLAB灰度级数为1,图像处理 – 在matlab中更改灰度图像中的灰度级数
  5. (计算机组成原理)第三章存储系统-第六节2:Cache和主存的映射方式(全相联映射、直接映射和组相连映射)
  6. 笔记:黑客是如何窃取网络传输过程中信息的?
  7. 大数据与Hadoop的区别
  8. 大一c语言程序设计计算器,C语言程序设计-课程设计《计算器程序》.docx
  9. matlab非线性规划
  10. EasyUI 日历实现日程提醒
  11. oracle关系数据库概述
  12. FPGA的LPM标准
  13. LightOJ1336(约数和)
  14. 关于PublicKeyToken
  15. nRF24l01无线传输
  16. 湖北省创新型中小企业培育申报流程方法及申报时间要求指南
  17. “有钱了”的理想汽车,能否拿下自动驾驶赛道入场券?
  18. C语言数组大小极限,C中允许的最大静态数组大小是多少?
  19. 【手绘漫画】图解LeetCode之寻找重复数(LeetCode287题),抽屉原理
  20. Android一键锁屏功能的实现

热门文章

  1. [读书笔记—效率]《超级整理术》- [日]泉正人
  2. Linux通过命令行操作Mysql
  3. Android 热修复方案Tinker(三) Dex补丁加载
  4. PhotoScan处理无人机航拍照片基本流程
  5. 手机python软件哪个好_python可以写APP吗(python能做手机软件吗)
  6. Tensorflow实现DBN
  7. 【DBN数据预测】基于matlab粒子群算法优化DBN数据预测【含Matlab源码 1420期】
  8. [自学CV]000-计算机视觉学习路线
  9. 【电商】红冲与单价调整
  10. php 在线读取PDF文件