- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我最近发现 Oracle 向给定日期添加月份(使用 ADD_MONTHS 函数)与 Java 向日历对象添加月份的方式之间存在差异。 例如在甲骨文中: select add_months('2009-
甲骨文:12c 描述:尝试使用 add_months 将 99 年添加到日期中,该方法可以工作,但它会在返回日期值中添加额外的一天。我应该如何正确地为日期添加年份? declare toRetDa
甲骨文:12c 描述:尝试使用 add_months 将 99 年添加到日期中,该方法可以工作,但它会在返回日期值中添加额外的一天。我应该如何正确地为日期添加年份? declare toRetDa
这个问题在这里已经有了答案: Calculating a date in Postgres by adding months? (2 个答案) 关闭 7 年前。 如何在 PostgreSQL 中实现
我在查询中给出了以下代码。 where to_date(cal_wid,'yyyymmdd') between add_months(to_date(sysdate, 'MM-YYY
我正在使用 boost::gregorian 执行日期计算。我想按照示例使用 add_month(当前版本为 1.63 http://www.boost.org/doc/libs/1_63_0/doc
1) Oracle 的 ADD_MONTHS(date, 1) 示例: SELECT ADD_MONTHS('30-Nov-15', 3) FROM dual; February, 29 2016 0
我是一名优秀的程序员,十分优秀!