C++ 不一致';%f';boost::posix_time::time_facet和boost::posix_time::time_input_facet之间的行为
我正在尝试将一个C++ 不一致';%f';boost::posix_time::time_facet和boost::posix_time::time_input_facet之间的行为,c++,boost,C++,Boost,我正在尝试将一个boost::posix_-time::ptime转换为一个特定的字符串格式(扩展ISO),然后返回到boost::posix_-time::ptime 令人惊讶的是,它看起来像是boost::posix_time::time_facet%f意味着000000到999999(没有小数分隔符)。但是对于boost::posix\u time::time\u input\u facet,它意味着.000000到.999999(带十进制分隔符) 见: 虽然我希望: 2019-04-30
boost::posix_-time::ptime
转换为一个特定的字符串格式(扩展ISO),然后返回到boost::posix_-time::ptime
令人惊讶的是,它看起来像是boost::posix_time::time_facet
%f
意味着000000
到999999
(没有小数分隔符)。但是对于boost::posix\u time::time\u input\u facet
,它意味着.000000
到.999999
(带十进制分隔符)
见:
虽然我希望:
2019-04-30T12:23:29.000000
2019-Apr-30 12:23:29
not-a-date-time
我用的是boost 1.68
我是做错了什么,还是这是boost::posix\u time::time\u facet
或boost::posix\u time::input\u time\u facet
中的错误
注意:'%F'没有这个问题。这肯定是一个boost错误。我在这里填写问题: 使用
%F
效果更好,但如果时间没有十进制信息,则具有不同的行为:
这绝对是一个boost bug。我在这里填写问题: 使用
%F
效果更好,但如果时间没有十进制信息,则具有不同的行为:
你的(更具可读性)比较与哪个根本不起作用。你的(更具可读性)比较与哪个根本不起作用。
2019-04-30T12:23:29.000000
not-a-date-time
2019-Apr-30 12:23:29
2019-04-30T12:23:29.000000
2019-Apr-30 12:23:29
not-a-date-time