【发布时间】:2018-10-15 15:38:37
【问题描述】:
我在 XML 文件中有格式为 (Year.Month.Day) 的时间戳。
我需要找出两个时间戳之间的天数差异。
示例时间戳:
<Time Stamp="20181015">
<Time Stamp="20181012">
我怎样才能找到上述时间戳之间的天数?
天数 = date2 - date1。我正在考虑所有的日子(不需要跳过周末或任何其他日子)。时区也不重要。
PS:我知道我必须从 XML 中解析时间戳。解析值后陷入逻辑。
Update-1: std::chrono::year 和其他类似的东西是 C++20 的一部分。但我得到一个编译错误:
命名空间“std::chrono”没有成员“year”
【问题讨论】:
-
1.定义“日”。 2.你看过C++ date handling functions吗?
-
@tadman:我已经更新了我的问题。我不确定在这种情况下如何使用
chrono库,因为我已经在 XML 文件中有时间戳。 -
它本身不是一个库,它是内置在 C++ 中的。您将不得不使用您选择的 XML 解析器从 XML 中提取值,然后将该日期用于日期解析函数之一或使用外部日期计算库。
-
我要求定义“天”的原因是,如果时区是一个因素,那么天就会变得复杂。如果只是日历差异,那就容易多了。
-
C++20 只需使用标准库就可以轻松完成。与此同时,也许 Boost 的日期时间库? Example 用于计算两个时间点之间的天数。