Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost::posix_time::time_方面和boost::gregorian::date_方面有什么区别?_C++_Datetime_Boost_Gregorian Calendar - Fatal编程技术网

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");