我收到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);
但由于strptime
在C ++中不支持它,我无法复制秒数。
那我该怎么办?
我找到了使用gettimeofday()
的解决方案。但我已经在'datetime'获得了日期和时间,所以请帮我找到它的解决方案......我也可以使用poco。但即使是我们的当地时间。
答案 0 :(得分:0)
在C ++ 11中,您可以使用<chrono>
中的高精度计时对象,查看此question的答案。
答案 1 :(得分:0)
您可以在使用strptime
进行解析之前从字符串中删除“S”组件,然后使用它,以后您可以使用它(它不适合标准struct tm
中的任何位置 - 没有子第二场)。只需datetime.find('.')
并从那里开始,或者如果您愿意,可以使用regexp
- 既繁琐但又不是火箭科学。