CC++ 时间字符串转结构
在C/C++中,可以使用strptime
函数将时间字符串转换为tm
结构体。
以下是一个示例代码:
#include <stdio.h>
#include <time.h>
int main()
{
char timeStr[] = "2022-01-01 12:34:56";
struct tm tm;
// 将时间字符串转换为tm结构体
strptime(timeStr, "%Y-%m-%d %H:%M:%S", &tm);
// 输出tm结构体中的各个字段
printf("Year: %d\n", tm.tm_year + 1900);
printf("Month: %d\n", tm.tm_mon + 1);
printf("Day: %d\n", tm.tm_mday);
printf("Hour: %d\n", tm.tm_hour);
printf("Minute: %d\n", tm.tm_min);
printf("Second: %d\n", tm.tm_sec);
return 0;
}
运行以上代码,输出结果为:
Year: 2022
Month: 1
Day: 1
Hour: 12
Minute: 34
Second: 56
在strptime
函数中,第一个参数是要转换的时间字符串,第二个参数是时间字符串的格式,第三个参数是指向tm
结构体的指针。strptime
函数会根据格式字符串解析时间字符串,并将解析结果存储在tm
结构体中。
需要注意的是,tm
结构体中的年份是从1900年开始计算的,月份从0开始计算(0表示1月,1表示2月,以此类推)。
原文地址: http://www.cveoy.top/t/topic/i5Gn 著作权归作者所有。请勿转载和采集!