gpt4 book ai didi

C++ 以字符串格式 YYYYMMDD 减去天数

转载 作者:行者123 更新时间:2023-11-28 03:30:48 27 4
gpt4 key购买 nike

我正在努力获取一些 C++ 代码进行协作。有没有一种直接的方法可以减去两个字符串日期?我正在尝试获取它们之间的天数。它们是字符串,YYYYMMDD。 Boost 库是正确的方向吗?

最佳答案

是的,Boost Date_Time当然可以做到这一点,甚至其他人也可能会建议“更轻”的替代方案。

这里是关于 days alive 的例子,它几乎完全解决了你的问题(只需添加第二个日期解析):

/* Short example that calculates the number of days since user was born.
* Demonstrates comparisons of durations, use of the day_clock,
* and parsing a date from a string.
*/

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

int
main()
{

using namespace boost::gregorian;
std::string s;
std::cout << "Enter birth day YYYY-MM-DD (eg: 2002-02-01): ";
std::cin >> s;
try {
date birthday(from_simple_string(s));
date today = day_clock::local_day();
days days_alive = today - birthday;
days one_day(1);
if (days_alive == one_day) {
std::cout << "Born yesterday, very funny" << std::endl;
}
else if (days_alive < days(0)) {
std::cout << "Not born yet, hmm: " << days_alive.days()
<< " days" <<std::endl;
}
else {
std::cout << "Days alive: " << days_alive.days() << std::endl;
}

}
catch(...) {
std::cout << "Bad date entered: " << s << std::endl;
}
return 0;
}

关于C++ 以字符串格式 YYYYMMDD 减去天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12683948/

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