无法使用 strptime() 获取秒数

2024-06-01

我收到 YYYY-MM-DDThh:mm:ss[.S+][Z|+-hh:mm] 这种格式的日期时间。我正在尝试使用复制该值strptime如下所示

struct tm time = {0};
char *pEnd = strptime(datetime, "%Y-%m-%dT%H:%M:%S%Z", &time);

但我无法将这几分之一秒复制为strptimeC++ 中不支持它。

所以我该怎么做?

我找到了一个解决方案,使用gettimeofday()。但我已经在“datetime”中获取日期和时间,所以请帮助我找到解决方案...我也可以使用 poco 。但即使他们我们也采取当地时间。


您可以在解析之前从字符串中删除“S”组件strptime,然后按照您喜欢的方式使用它(它不适合标准中的任何地方struct tm- 没有亚秒字段)。只是datetime.find('.')然后从那里开始,或者使用regexp如果你愿意的话——既乏味又不复杂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 strptime() 获取秒数 的相关文章

随机推荐