c++

c++ datetime怎样解析字符串日期

小樊
127
2024-07-12 15:23:28
栏目: 编程语言

要在C++中解析字符串日期,可以使用C++的标准库中的std::istringstream类来将字符串转换为日期对象。以下是一个示例代码:

#include <iostream>
#include <sstream>
#include <iomanip>
#include <ctime>

int main() {
    std::string date_str = "2022-10-15"; // 日期字符串
    tm date = {};

    std::istringstream ss(date_str);
    ss >> std::get_time(&date, "%Y-%m-%d");

    if(ss.fail()) {
        std::cerr << "解析日期字符串失败" << std::endl;
    } else {
        time_t time = std::mktime(&date);
        std::cout << "解析的日期为: " << std::put_time(&date, "%Y-%m-%d") << std::endl;
    }

    return 0;
}

在这个示例代码中,我们首先定义了一个日期字符串date_str,然后使用std::istringstream类将其转换为tm结构体对象date。接着,我们使用std::get_time函数和指定的日期格式"%Y-%m-%d"将字符串解析为日期对象。最后,我们使用std::put_time函数将日期对象打印出来。

需要注意的是,以上代码中的日期格式字符串"%Y-%m-%d"需要根据日期字符串的实际格式进行调整。如果日期字符串包含时间部分,也可以根据需要调整格式字符串。

0
看了该问题的人还看了