目录
生成时间戳
time函数
函数原型
获取当前时间戳
转换时间戳为北京时间
gmtime函数
函数原型:
struct tm结构体
使用方法
strftime函数
time_t类型是long int类型
#include #include int main() { std::cout << "当前时间戳:"< 执行结果: 转为北京时间即 2022-03-16 23:05:46 转换时间戳为北京时间 gmtime函数 函数原型: 【GMT】Greenwich Mean Time 格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治时)的时间。 地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间──世界标准时间(UTC 【UTC】世界标准时间 法文“Temps Universel Cordonné”缩写则为“TUC” 英文“Coordinated Universal Time”缩写为“CUT” 国际电信联盟折中的方案为 UTC(Universal Time Coordinated) 北京时间=UTC+8=GMT+8 gmtime将时间戳默认转化为UTC时间 struct tm结构体 使用方法 #include int main(){ struct tm *mytm; time_t t = time(NULL); mytm =gmtime(&t); return 0; } 1647444460对应的北京时间是2022-03-16 23:27:40 而tm_hour的时间却是15,因此需要加上8转为北京时间 对应的tm_mon、tm_year似乎也是不对,这里我们发现tm_mon+1、tm_year+1900即可 不过除了tm_hour时间我们需要自己加上8,其它成员交给另一个函数strftime函数即可 strftime函数 函数原型 函数功能就是把时间戳按指定的格式转为字符串 使用方法 #include #include using namespace std; int main(){ char myStr[25] = { 0 }; time_t cur_t = 1647444460; struct tm *t = gmtime(&cur_t); t->tm_hour += 8;//转为北京时间记的要加8 std::string myFormat = "%Y-%m-%d:%H:%M:%S"; strftime(myStr, sizeof(myStr), myFormat.c_str(), t); for (int i = 0; myStr[i]; ++i) { cout << myStr[i]; } cout << endl; return 0; } 执行结果:
执行结果:
转为北京时间即 2022-03-16 23:05:46
【GMT】Greenwich Mean Time 格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治时)的时间。 地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间──世界标准时间(UTC 【UTC】世界标准时间 法文“Temps Universel Cordonné”缩写则为“TUC” 英文“Coordinated Universal Time”缩写为“CUT” 国际电信联盟折中的方案为 UTC(Universal Time Coordinated) 北京时间=UTC+8=GMT+8 gmtime将时间戳默认转化为UTC时间
【GMT】Greenwich Mean Time 格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治时)的时间。 地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间──世界标准时间(UTC
【UTC】世界标准时间 法文“Temps Universel Cordonné”缩写则为“TUC” 英文“Coordinated Universal Time”缩写为“CUT” 国际电信联盟折中的方案为 UTC(Universal Time Coordinated)
北京时间=UTC+8=GMT+8
gmtime将时间戳默认转化为UTC时间
#include int main(){ struct tm *mytm; time_t t = time(NULL); mytm =gmtime(&t); return 0; }
1647444460对应的北京时间是2022-03-16 23:27:40
而tm_hour的时间却是15,因此需要加上8转为北京时间
对应的tm_mon、tm_year似乎也是不对,这里我们发现tm_mon+1、tm_year+1900即可
不过除了tm_hour时间我们需要自己加上8,其它成员交给另一个函数strftime函数即可
函数功能就是把时间戳按指定的格式转为字符串
#include #include using namespace std; int main(){ char myStr[25] = { 0 }; time_t cur_t = 1647444460; struct tm *t = gmtime(&cur_t); t->tm_hour += 8;//转为北京时间记的要加8 std::string myFormat = "%Y-%m-%d:%H:%M:%S"; strftime(myStr, sizeof(myStr), myFormat.c_str(), t); for (int i = 0; myStr[i]; ++i) { cout << myStr[i]; } cout << endl; return 0; }
上一篇 Pytorch:模型定义
下一篇 使用python自动生成病例数据并导出excel(附代码)
版权所有 (c)2021-2022 MSHXW.COM
ICP备案号:晋ICP备2021003244-6号