boost :: posix_time :: time_facet和boost :: gregorian :: date_facet有什么区别?

时间:2017-03-01 15:59:03

标签: c++ datetime boost gregorian-calendar

this question about formatting date + time strings using Boost的不同答案使用不同的方面。

One answer使用boost::posix_time::time_facetother answer使用boost::gregorian::date_facet(请注意后者还包含时间,尽管名称为facet class)。

即,我们有:

boost::posix_time::time_facet("%Y-%m-%d %H:%M:%S");

VS

boost::gregorian::date_facet("%Y-%m-%d %H:%M:%S");

(我从链接的答案中略微调整了不相关的字符。)

再次注意,boost::gregorian::date_facet包含时间,所以在某种意义上调用它date_facet有点欺骗性,特别是在与{{1}对比时其开发人员明显感觉应该在facet类的名称中加入“time”。

另请注意,boost::posix_time::time_facet包含日期,这可能更直观(尽管可以考虑纯格式,但不能日期,所以也许它不应该更直观,“时间”方面可以包括“日期”而不是“日期”方面可以包括“时间”。)

但具体回到我的问题:我觉得如果我使用boost::posix_time::time_facet版本,我必须错过一些涉及gregorian方面的重要内容 - 人们不会费心去创建名称空间代表 Gregorian 日历,如果这无关紧要,对吗?

相反 - boost::posix_time的版本缺少boost::gregorian版本中的重要内容吗?

其中一个是另一个的超集吗?或者,它们的功能是否重叠,但有所不同?

boost::posix_timeboost::posix_time::time_facet有什么区别?

0 个答案:

没有答案