gpt4 book ai didi

c++ - 将此时间字符串解析为 'std::chrono' 有什么问题?

转载 作者:行者123 更新时间:2023-12-05 02:42:42 28 4
gpt4 key购买 nike

我只是想将时间字符串解析为 chrono::system_clock::time_point 使用:

#include <iosfwd>
#include "date/date.h"

std::stringstream ssTime;
ssTime << "17:34:05";
std::chrono::system_clock::time_point tp_time;
ssTime >> date::parse("%H:%M:%S", tp_time);

我希望在 EPOCH 之后得到指定时间的 time_point,但我得到的却是 0(即 EPOCH)。

请注意,我使用的是 date libraryHoward Hinnant .

最佳答案

parse 函数的设计是,如果您没有为正在解析的类型解析足够的信息,则会在流上设置failbitparse 认为 {h, m, s} 信息不足以唯一确定一个瞬间(a system_clock::time_point),所以这解析失败。

您可以通过解析为 seconds 持续时间来完成此工作:

#include "date/date.h"
#include <sstream>

int
main()
{
std::stringstream ssTime;
ssTime << "17:34:05";
std::chrono::seconds tp_time;
ssTime >> date::parse("%H:%M:%S", tp_time);
}

tp_time 在此示例中的值为 63245s。

关于c++ - 将此时间字符串解析为 'std::chrono' 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67335616/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com