gpt4 book ai didi

c++ - 无法将 »boost::gregorian::date_duration« 转换为 »int

转载 作者:行者123 更新时间:2023-11-28 08:03:00 25 4
gpt4 key购买 nike

我正在使用 boost 库,并且只会使用 int :

但我收到错误:

cannot convert »boost::gregorian::date_duration« to »int

我能做什么?请帮忙,我只想检查我的日期是否超过了当前日期..我得到了正确的答案,但无法使用。 (range.length())

#include <iostream>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <ctime>
#include <fstream>

namespace bdt = boost::gregorian;
using namespace std;

int main(void)
{

time_t now = time(0);
tm *ltm = localtime(&now);

//Aktuelles Datum
int y = 1900 + ltm->tm_year;
int d = ltm->tm_mday;
int m = 1 + ltm->tm_mon;
bdt::date today(bdt::date(y, m, d));


//Ziel y m d
bdt::date electionDay(bdt::date(2012, 6, 6));
bdt::date_period range(today, electionDay);


std::cout << range.length() << std::endl;
int z = range.length() ;



return 0;
}

最佳答案

假设你想让整数代表期间的天数,那么:

range.length().days()

或者,如果您想比较日期,您可以在不转换为句点、持续时间、整数或任何其他内容的情况下进行比较:

if (today > electionDay) {
std::cout << "Election day is in the past\n";
}

关于c++ - 无法将 »boost::gregorian::date_duration« 转换为 »int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10901767/

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