gpt4 book ai didi

c++ - 解析 ISO 8601 持续时间

转载 作者:可可西里 更新时间:2023-11-01 17:56:52 24 4
gpt4 key购买 nike

在 ISO 8601 中,持续时间以 P[n]Y[n]M[n]DT[n]H[n]M[n]S 格式给出。

示例:

20 秒:

PT20.0S

一年2个月3天4小时5分6秒:

P1Y2M3DT4H5M6S

问题:

给定一个包含 iso 8601 格式的持续时间的字符串。我想获得该持续时间的总秒数。标准 C++11 中推荐的实现方法是什么?

备注:

例如,boost DateTime 中的 ptime from_iso_string(std::string) 不适合此处。有没有类似的方法而无需手动执行正则表达式?

最佳答案

使用标准的正则表达式库,你想要的正则表达式是这样的:

"P\(\([0-9]+\)Y\)?\(\([0-9]+\)M\)?\(\([0-9]+\)D\)?T\(\([0-9]+\)H\)?\(\([0-9]+\)M\)?\(\([0-9]+\(\.[0-9]+\)?S\)?"

您可以从中提取年数、月数并计算总秒数。

关于c++ - 解析 ISO 8601 持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23886140/

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