在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月,以此类推)。

CC++ 时间字符串转结构

原文地址: http://www.cveoy.top/t/topic/i5Gn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录