本地时间(LT)是东八区的时间,格林尼治时间(GMT)是0时区的时间,世界协调时(UTC)是修正后的格林尼治时间。

我们可以粗略地认为世界协调时(UTC)就是格林尼治时间(GMT)。

本地时间在东八区,世界协调时(UTC)在0时区,所以东八区比世界协调时早8个小时,即假如现在世界协调时(UTC)为0时,则本地时间为8时。

time_t表示世界协调时(UTC),比如现在本地时间为2017/11/30 22:0:0,则取到的time_t表示2017/11/3014:0:0,距离1970年1月1日0时0分0秒的秒数。

取到time_t变量的函数为time  time(*time);可以

time_t   timep;

timep=time(NULL);也可以

time_t  timep;

time(&timep);

时间块结构体tm包括了年、月、日、时、分、秒等变量,定义如下:

struct  tm{

int  tm_sec;

int  tm_min;

int  tm_hour;

int  tm_mday;

int  tm_mon;

int  tm_year;

int  tm_wday;

int  tm_yday;

int tm_isdst;

}

其中tmmday表示month day,该月中第几天;tmwday,表示,week day,该周中第几天;tmyday表示year day,该年中第几天;isdst表示是否为夏令时,为正数表示是夏令时,为0表示不是夏令时,为负数表示计算机自动判断是否为夏令时。

time_t转换为tm的函数为

tm* gmtime(const  time_t*  timep);         //将time_t转换为协调世界时,比如,当前时间为2017年12月1日,9时0分0秒,获取到当前时间的time_t,在把time_t通过gmtime()函数转化后得到的时间块结构体里的时间为2017年12月1日,1时0分0秒。

tm* localtime(const  time_t*  timep);         //将time_t转换为本地时间,比如,当前时间为2017年12月1日,9时0分0秒,获取到当前时间的time_t,在把time_t通过localtime()函数转化后得到的时间块结构体里的时间为2017年12月1日,9时0分0秒。

tm转换为time_t的函数为

time_t   mktime(const  tm*  timeptr);      //将tm时间块,转换为时间戳time_t,得到timeptr表示的协调世界时的时间戳。比如tm包含的时间为2017年12月1日,9时0分0秒,转化后得到的是2017年12月1日,9时0分0秒距离1970年1月1日0时0分0秒的秒数。

time_t转换为字符串(char *)

char*  ctime(const time_t *  timep);

tm转换为字符串(char*)

char * asctime(const tm*  timeptr);

C++时间戳time_t和时间结构体tm相关推荐

  1. Windows API的时间结构体、时间转换及时间获取

    Windows API的时间结构体.时间转换及时间获取   时间格式:DosDateTime <====>FileTime <====> SystemTime |        ...

  2. c语言系统时间的结构体变量,C语言中的系统时间结构体类型

    1.time_t 类型:长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒:由函数time()获取: 该类型定义在头文件 /usr/include/sys/time. ...

  3. C语言实现Unix时间戳和北京时间的相互转换(已编译,亲试可用~)

    目录 一.什么是Unix时间戳 二.应用C语言库函数 三.C语言实现Unix时间戳与北京时间的相互转换 一.什么是Unix时间戳     1.Unix时间戳是从1970年1月1日(UTC/GMT的午夜 ...

  4. 算法之unix时间戳和UTC时间(年月日)互换

    算法之unix时间戳和UTC时间(年月日)互换 author:onceday date:2022年6月8日 文章目录 算法之unix时间戳和UTC时间(年月日)互换 1.c标准库时间结构定义 2.自定 ...

  5. C实现Unix时间戳和本地时间转化

    我们平常说时间都说的几点几分几秒,星期几,但是在计算机里面并不是直接使用我们所说的时间,而是使用Unix时间戳,这样不管是哪个平台,哪个系统,都可以根据自己对时间的定义进行转换,像Java,PHP等都 ...

  6. unix时间戳转换c语言算法,聊聊时间(2)硬核算法篇——UNIX时间戳转UTC时间

    文/Edward 前一篇文章<聊聊时间(1)UNIX时间戳和UTC时间>中,我们讲述了计算机中UNIX时间戳和UTC时间的基本概念,以及简要地阐述了诸如STM32F103之类芯片简单功能R ...

  7. C语言:Unix时间戳-转-UTC时间

    C语言:Unix时间戳-转-UTC时间 C语言:UTC时间-转-Unix时间戳 一.简介 1. Unix时间戳 Unix系统内记录的时间是一个时间戳,所谓时间戳,就是当前时间距离1970年1月1日0时 ...

  8. c语言嵌套结构体生日,第09天C语言(17):结构体嵌套

    #pragma mark 结构体嵌套 ###pragma mark 概念 ###pragma mark 代码 #include int main() { #warning 结构体嵌套 /* // st ...

  9. struct timeval 结构体使用浅析

    时间结构体struct timeval的使用 #include <sys/time.h> 该头文件的位置在:/usr/include/x86_64-linux-gnu/sys/time.h ...

最新文章

  1. 厉害!苏炳添即将在暨南大学成立短跑实验室
  2. 字字谏言!Python入门学习教程:关于Python不得不说的事儿
  3. 解决ASP.Net第一次访问慢的处理 IIS 7.5
  4. 字魂35号经典雅黑_2020:上海不锈钢黑钛线条行业
  5. Swift 的函数和闭包
  6. 【script】python通过字符串调用方法
  7. Ubuntu16.04LTS安装XMind8并创建运行图标
  8. c语言函数官网,c语言函数
  9. 基于JWT前后端token认证
  10. python基本规则语法
  11. ubuntu16.04 系统ghostscript 缺少中文语言包导致字体重叠问题
  12. 虚拟打印机如何打印Text
  13. ai面试的优缺点_找工作时让AI给你面试,你愿意吗?
  14. 在excel中如何筛选重复数据_Excel快速筛选数据方法集锦
  15. java助教_Java助教工作总结
  16. Make sure that `gem install sqlite3 -v '*.*.*'`succeeds before bundling Error: 问题解决
  17. 字节流、字节流、转换流、打印流
  18. 大战初起 “云”局未定:微软云在未来能够抢到多少市场份额?
  19. 【 newcoder 】幼儿园战争 【并查集+删并查】
  20. 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...

热门文章

  1. 前端白屏问题_首页白屏的引发的思考(一)
  2. 5月 CSDN 创作者之夜:获奖名单公布
  3. java猫抓老鼠_用猫抓老鼠的实例理解java中面向对象的编程与类和对象以及方法的概念...
  4. 完美解决移动端video视频层级问题
  5. 微信小程序:更改页面背景颜色
  6. 刀客羽朋面向对象pdf
  7. 安卓开发基础知识3(国内深度摄像头方案)
  8. window自带的计算机应用程序,Win10系统电脑不小心将自带的应用程序卸载了该怎么恢复...
  9. C语言实现最大值、最小值、均值、标准差、峰值因子、方差和百分位数的计算
  10. 【论文翻译 | AAAI-19】HACUD - 基于分层注意机制的属性异构信息网络现金用户检测