我想使用std :: chrono,以便根据有效期计算未来的日期。
到期时间是一个整数,指定从现在起#34;天。那么如何使用chrono lib来查找100天后的日期呢?
答案 0 :(得分:5)
假设您有time_point
。要为该对象添加天数,您只需将std::chrono::hours
与#include <chrono>
std::chrono::system_clock::time_point t = std::chrono::system_clock::now();
std::chrono::system_clock::time_point new_t = t + std::chrono::hours(100 * 24);
:
<Route path='/competitions/:league/:id/' component={Teams}></Route>
答案 1 :(得分:5)
<chrono>
:
#include "date.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std::chrono;
auto now = system_clock::now();
auto today = floor<days>(now);
year_month_day future = today + days{100};
std::cout << future << '\n';
}
上述程序使用system_clock::now()
获取当前时间,然后将time_point
截断为精确度为days
。然后添加100 days
以查找将来的time_point
,然后将其转换为人类消费的{year, month, day}
结构。
目前的输出是:
2017-05-19
如果您想在没有第三方库的情况下进行此类计算,我强烈建议您创建一个chrono::duration days
:
using days = std::chrono::duration
<int, std::ratio_multiply<std::ratio<24>, std::chrono::hours::period>>;
现在,您可以将days{100}
添加到system_clock::time_point
。
答案 2 :(得分:1)
chrono库不包含日历功能。没有直接的方法可以准确地实现您的要求。
通过使用每天秒数的持续时间,您可以找到将来100天的时间戳。但是chrono没有计算日期的工具。