C++时间戳time_t和时间结构体tm
本地时间(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相关推荐
- Windows API的时间结构体、时间转换及时间获取
Windows API的时间结构体.时间转换及时间获取 时间格式:DosDateTime <====>FileTime <====> SystemTime | ...
- c语言系统时间的结构体变量,C语言中的系统时间结构体类型
1.time_t 类型:长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒:由函数time()获取: 该类型定义在头文件 /usr/include/sys/time. ...
- C语言实现Unix时间戳和北京时间的相互转换(已编译,亲试可用~)
目录 一.什么是Unix时间戳 二.应用C语言库函数 三.C语言实现Unix时间戳与北京时间的相互转换 一.什么是Unix时间戳 1.Unix时间戳是从1970年1月1日(UTC/GMT的午夜 ...
- 算法之unix时间戳和UTC时间(年月日)互换
算法之unix时间戳和UTC时间(年月日)互换 author:onceday date:2022年6月8日 文章目录 算法之unix时间戳和UTC时间(年月日)互换 1.c标准库时间结构定义 2.自定 ...
- C实现Unix时间戳和本地时间转化
我们平常说时间都说的几点几分几秒,星期几,但是在计算机里面并不是直接使用我们所说的时间,而是使用Unix时间戳,这样不管是哪个平台,哪个系统,都可以根据自己对时间的定义进行转换,像Java,PHP等都 ...
- unix时间戳转换c语言算法,聊聊时间(2)硬核算法篇——UNIX时间戳转UTC时间
文/Edward 前一篇文章<聊聊时间(1)UNIX时间戳和UTC时间>中,我们讲述了计算机中UNIX时间戳和UTC时间的基本概念,以及简要地阐述了诸如STM32F103之类芯片简单功能R ...
- C语言:Unix时间戳-转-UTC时间
C语言:Unix时间戳-转-UTC时间 C语言:UTC时间-转-Unix时间戳 一.简介 1. Unix时间戳 Unix系统内记录的时间是一个时间戳,所谓时间戳,就是当前时间距离1970年1月1日0时 ...
- c语言嵌套结构体生日,第09天C语言(17):结构体嵌套
#pragma mark 结构体嵌套 ###pragma mark 概念 ###pragma mark 代码 #include int main() { #warning 结构体嵌套 /* // st ...
- struct timeval 结构体使用浅析
时间结构体struct timeval的使用 #include <sys/time.h> 该头文件的位置在:/usr/include/x86_64-linux-gnu/sys/time.h ...
最新文章
- 厉害!苏炳添即将在暨南大学成立短跑实验室
- 字字谏言!Python入门学习教程:关于Python不得不说的事儿
- 解决ASP.Net第一次访问慢的处理 IIS 7.5
- 字魂35号经典雅黑_2020:上海不锈钢黑钛线条行业
- Swift 的函数和闭包
- 【script】python通过字符串调用方法
- Ubuntu16.04LTS安装XMind8并创建运行图标
- c语言函数官网,c语言函数
- 基于JWT前后端token认证
- python基本规则语法
- ubuntu16.04 系统ghostscript 缺少中文语言包导致字体重叠问题
- 虚拟打印机如何打印Text
- ai面试的优缺点_找工作时让AI给你面试,你愿意吗?
- 在excel中如何筛选重复数据_Excel快速筛选数据方法集锦
- java助教_Java助教工作总结
- Make sure that `gem install sqlite3 -v '*.*.*'`succeeds before bundling Error: 问题解决
- 字节流、字节流、转换流、打印流
- 大战初起 “云”局未定:微软云在未来能够抢到多少市场份额?
- 【	newcoder 】幼儿园战争 【并查集+删并查】
- 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...
热门文章
- 前端白屏问题_首页白屏的引发的思考(一)
- 5月 CSDN 创作者之夜:获奖名单公布
- java猫抓老鼠_用猫抓老鼠的实例理解java中面向对象的编程与类和对象以及方法的概念...
- 完美解决移动端video视频层级问题
- 微信小程序:更改页面背景颜色
- 刀客羽朋面向对象pdf
- 安卓开发基础知识3(国内深度摄像头方案)
- window自带的计算机应用程序,Win10系统电脑不小心将自带的应用程序卸载了该怎么恢复...
- C语言实现最大值、最小值、均值、标准差、峰值因子、方差和百分位数的计算
- 【论文翻译 | AAAI-19】HACUD - 基于分层注意机制的属性异构信息网络现金用户检测