C++ boost::posix_time::time_方面和boost::gregorian::date_方面有什么区别?
不同的答案使用不同的方面 使用C++ boost::posix_time::time_方面和boost::gregorian::date_方面有什么区别?,c++,datetime,boost,gregorian-calendar,C++,Datetime,Boost,Gregorian Calendar,不同的答案使用不同的方面 使用boost::posix_time::time_facet,并使用boost::gregorian::date_facet(注意,后者还包括time,尽管facet类的名称不同) 即,我们有: boost::posix_time::time_facet("%Y-%m-%d %H:%M:%S"); vs (我根据链接的答案稍微调整了不相关的字符) 再次请注意,boost::gregorian::date_facet包含时间,因此在某种意义上称之为date_facet
boost::posix_time::time_facet
,并使用boost::gregorian::date_facet
(注意,后者还包括time,尽管facet类的名称不同)
即,我们有:
boost::posix_time::time_facet("%Y-%m-%d %H:%M:%S");
vs
(我根据链接的答案稍微调整了不相关的字符)
再次请注意,boost::gregorian::date_facet
包含时间,因此在某种意义上称之为date_facet
有点欺骗性,特别是与boost::posix_time::time_facet
相比,后者的开发人员显然认为应该在facet类的名称中包含“time”
还请注意,boost::posix_time::time_facet
包含了日期,这可能更直观(虽然可以认为时间是纯粹格式化的,但不是日期,因此“time”facet包含“date”可能比“date”facet包含“time”更直观)
但具体回到我的问题上来:我觉得如果我使用boost::posix_time
版本,我一定会错过一些重要的东西,包括gregorian
方面的东西-如果这不重要,人们不会费心创建一个名称空间来表示公历,对吗
反过来说,boost::gregorian
的版本是否在boost::posix_time
版本中遗漏了一些重要的东西
其中一个是另一个的超集吗?或者,它们的功能是否重叠但不同
posix时间方面和
boost::gregorian::date\u方面
之间有什么区别?posix时间从1970年开始。公历从1572年开始(刻面支持比这更早的日期)。谢谢。Posix是否也支持1970年之前的日期(通过负值)?我想是的。我在输入注释后查看了文档。显然,posix_time::time_facet扩展了gregorian::date_facet。这非常有用,谢谢。这两个是typedef。( ). 所以它实际上是boost::date\u time::date\u facet
和boost::date\u time::time\u facet
。表示:“boost::date\u time::time\u方面是boost::date\u time::date\u方面的扩展。”Posix时间从1970年开始。公历从1572年开始(刻面支持比这更早的日期)。谢谢。Posix是否也支持1970年之前的日期(通过负值)?我想是的。我在输入注释后查看了文档。显然,posix_time::time_facet扩展了gregorian::date_facet。这非常有用,谢谢。这两个是typedef。( ). 所以它实际上是boost::date\u time::date\u facet
和boost::date\u time::time\u facet
。表示:“boost::date\u time::time\u方面是boost::date\u time::date\u方面的扩展。”
boost::gregorian::date_facet("%Y-%m-%d %H:%M:%S");