如何使用速推库比较两个单独的日期
How to compare two separate dates using the Boost library?
gregorian::date date1 = 2014-12-18;
gregorian::date date2 = 2014-12-19;
gregorian::date currentDate;
if(date1 < date2)
{
date1 = currentDate;
}
else
{
date2 = currentDate;
}
与此类似的功能非常适合我的问题,我想知道是否可以比较日期,或者是否有现有的功能可以这样做?
当然,您需要正确构建日期,但除此之外,比较没有任何问题。
请注意,您需要day_clock
才能获得currentDate
(否则您将获得not-a-datetime
(
住在科里鲁
#include <boost/date_time/gregorian/greg_date.hpp>
#include <boost/date_time/gregorian/gregorian_io.hpp>
#include <iostream>
using namespace boost;
int main() {
gregorian::date date1(2014, 12, 18);
gregorian::date date2(2014, 12, 19);
std::cout << date1 << ", " << date2 << "n";
(date1 < date2 ? date1 : date2) = gregorian::day_clock::local_day();
std::cout << date1 << ", " << date2 << "n";
}
这会将最低值替换为当前日期,打印
2014-Dec-18, 2014-Dec-19
2014-Dec-19, 2014-Dec-19
有关公历日期的文档说所有比较运算符都可用。请参阅 http://www.boost.org/doc/libs/1_35_0/doc/html/date_time/gregorian.html#date_operators
我认为你不想要这个:
gregorian::date date1 = 1984; // 2014-12-18 = 2014 - 12 - 18 = 1984
gregorian::date date2 = 1983; // 2014-12-19 = 2014 - 12 - 19 = 1983
尝试查看:
date(greg_year, greg_month, greg_day)
或
date from_string(std::string)
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 两个单独的类不共享相同的数据 C++
- SDL GPU 为什么将两个图像分成两个单独的循环更快?
- 如何将4位整数值转换为C 中两个单独的2位值
- 在OpenGL中制作两个单独的茶壶
- 将INT和STR输入并将它们存储到两个单独的列表中
- 如何将一个类的两个单独实例设置为彼此相等的 c++
- GCC 6.3.0 中的 ODR 冲突,类型在两个单独的翻译单元中定义
- 尝试使用两个单独的 getline() 实例来填充两个单独的向量
- C++:两个单独的函数在嵌套时返回不同的结果?
- 模板和两个单独的类之间的区别
- 如何避免将两个单独的'>'格式化为一个班次?
- 输入坐标分为与文件故障的两个单独的数组
- 如何使用两个单独的语法实现计算机翻译器
- 相当棘手的代码气味要解决(由于两个单独的库)C
- 如何组合两个单独的生成文件来编译程序
- 为什么 setprecision( ) 在一个数字中给我两个单独的小数点
- 在两个单独的应用程序之间共享 dll 中的堆内存