没有合适的从“const std :: string”到“time_t”的转换函数

时间:2018-04-01 11:13:56

标签: c++ boost

我正在从大纪元到正确的日期和时间进行转换。到目前为止,我发现boost库可以帮助我解决这个问题。但是,我收到错误没有合适的转换函数从“const std :: string”到“time_t”存在

    const std::string timeparser(jsonData["data"]["table"][i]["data"]["created_utc"].asString());

timeparser可能包含“1522516475”

    std::time_t btime_ = timeparser;

    std::cout << boost::posix_time::from_time_t(btime_) << endl;
    std::cout.imbue(std::locale(std::cout.getloc(), new boost::posix_time::time_facet("%H:%M:%S")));
    std::cout << boost::posix_time::from_time_t(btime_) << endl;

1 个答案:

答案 0 :(得分:1)

这不起作用:

std::time_t btime_ = timeparser;

因为左手型是数字,右手是字符串。你需要转换:

std::time_t btime_ = std::stoi(timeparser);