[C语言]时间戳 |
您所在的位置:网站首页 › c语言获取时间戳毫秒 › [C语言]时间戳 |
时间戳的概念
时间戳就是定义一个时间点作为0秒, 之后每过一秒依此加一, 将当前的时间戳换算成年月日, 再加上起点, 获得的就是现在时刻的时间. 根据地球时区的偏移, 比如北京时间是东八区, 做一个偏移量的加减. 0起点: 1900年1月1日0时0分0秒. 0偏移地点: 英国伦敦 时间戳存储器: 现在常见的时间戳存储在32位或者64位整型变量中, 或许是有符号, 或许是无符号. 世界上所有的时间戳(秒计数器)都是一样的, 换算结束再根据时区做偏移运算. 时间划分标准: GMT, UTC. •GMT(Greenwich Mean Time)格林尼治标准时间是一种以地球自转为基础的时间计量系统。它将地球自转一周的时间间隔等分为24小时,以此确定计时标准. •UTC(Universal Time Coordinated)协调世界时是一种以原子钟为基础的时间计量系统。它规定铯133原子基态的两个超精细能级间在零磁场下跃迁辐射9,192,631,770周所持续的时间为1秒。当原子钟计时一天的时间与地球自转一周的时间相差超过0.9秒时,UTC会执行闰秒来保证其计时与地球自转的协调一致. C标准库参考链接: https://cplusplus.com/reference/ctime/ctime/ C标准库为我们获取时间, 时间戳转化年月日都提供了非常标准的API函数来让我们调用. 头文件: 变量类型: time_t类型 typedef __time64_t time_t; typedef __int64 __time64_t; #define __int64 long long struct tm类型 struct tm { int tm_sec; //秒 int tm_min; //分 int tm_hour; //小时 int tm_mday; //日 int tm_mon; //月, 需要手动加1 int tm_year; //年, 需要手动加1900 int tm_wday; //星期 int tm_yday; //这个月的第几天, 需要手动加1(不用) int tm_isdst; //夏令时标志(不用) }; 常用函数: time_t time (time_t* timer); //获取当前时间戳 time_t currentTime; time(¤tTime);//获取当前时间戳 struct tm * localtime (const time_t * timer); //根据时间戳转换为本地时间 char* ctime (const time_t * timer); //将时间戳转换成字符串 获取当前时间代码struct tm * localTime; //时间结构体 time_t currentTime; //时间戳 time(¤tTime);//获取当前时间戳 localTime = localtime(¤tTime); //获取当前时间, 存到结构体中. printf("当前时间:%s\n", ctime(¤tTime)); printf("%d.%d.%d %d:%d:%d\n", localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday, localTime->tm_hour, localTime->tm_min, localTime->tm_sec); printf("星期:%d, 本月第 %d 天, 夏令时标志 %d\n", localTime->tm_wday, localTime->tm_yday + 1, localTime->tm_isdst); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |