gpt4 book ai didi

c++ - add_month 从 boost::gregorian 中删除?

转载 作者:行者123 更新时间:2023-11-30 05:15:40 30 4
gpt4 key购买 nike

我正在使用 boost::gregorian 执行日期计算。我想按照示例使用 add_month(当前版本为 1.63 http://www.boost.org/doc/libs/1_63_0/doc/html/date_time/examples.html)

/* Simple program that uses the gregorian calendar to progress by exactly
* one month, irregardless of how many days are in that month.
*
* This method can be used as an alternative to iterators
*/
#include "boost/date_time/gregorian/gregorian.hpp"
#include <iostream>

int main()
{

using namespace boost::gregorian;

date d = day_clock::local_day();
add_month mf(1);
date d2 = d + mf.get_offset(d);
std::cout << "Today is: " << to_simple_string(d) << ".\n"
<< "One month from today will be: " << to_simple_string(d2)
<< std::endl;

return 0;
}

然而,这给出了错误信息

month.cpp: In function `int main()':                                   
month.cpp:33:5: error: `add_month' was not declared in this scope
add_month mf(1);
^
month.cpp:35:19: error: `mf' was not declared in this scope
date d2 = d + mf.get_offset(d);
^

最佳答案

的确如此。该示例已过时。事实上,我不记得看到过这个功能,所以它可能早就过时了。

我推荐以下方法:

/* Simple program that uses the gregorian calendar to progress by exactly
* one month, irregardless of how many days are in that month.
*
* This method can be used as an alternative to iterators
*/

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

int main()
{

using namespace boost::gregorian;

date d = day_clock::local_day(),
prev = d - months(1),
next = d + months(1);

std::cout << "Today is: " << to_simple_string(d) << ".\n"
<< "One month before today was: " << to_simple_string(prev) << "\n"
<< "One month from today will be: " << to_simple_string(next) << "\n";
}

哪个打印(对我来说):

Today is: 2017-Mar-23.
One month before today was: 2017-Feb-23
One month from today will be: 2017-Apr-23

关于c++ - add_month 从 boost::gregorian 中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42978102/

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