gpt4 book ai didi

c++ - 如何使用 boost::date_time 获取两个日期之间的天数

转载 作者:搜寻专家 更新时间:2023-10-31 01:00:44 26 4
gpt4 key购买 nike

在 boost::date_time 中是否有任何可用的 API 来获取两个日期之间的天数,这也是特定于日历的?

例如,2005/01/01 和 2006/12/31 之间的天数在七天日历中为 730,在五天日历中为 504。

最佳答案

是的:posix_time 来拯救

Live On Coliru

#include <boost/date_time/gregorian/greg_date.hpp>
#include <iostream>

int main() {
using boost::gregorian::date;

date a { 2005, 1, 1 }, b { 2006, 12, 31 };

std::cout << (b-a).days() << "\n";
}

打印

729 [1]

如果您想使用公历日期 + 时间 (hh:mm:ss.fffffff),请使用 posix_time::ptimelocal_time::local_date_time 为此添加了时区意识(例如,正确了解夏令时)


琐事 顺便说一句,这个数也是 27 的平方和 9 的立方,由于这些性质,一个完美的 totient 数,一个居中的八角形数, 和一个 Smith 数。它不是四个连续素数的和

关于c++ - 如何使用 boost::date_time 获取两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com