gpt4 book ai didi

c++ - 使用 boost::date,我如何计算 "last Monday"?

转载 作者:太空狗 更新时间:2023-10-29 21:18:18 28 4
gpt4 key购买 nike

这就是使用 boost::date 获取“两天前”的方法:

boost::gregorian::date today = boost::gregorian::day_clock::local_day();
boost::date_time::day_functor<boost::gregorian::date> day_offset(-2);
boost::gregorian::date modified = today + day_offset.get_offset(today);

如何计算代表“上周一”的日期?

最佳答案

使用previous_weekday :

using namespace boost::gregorian;
auto last_monday = previous_weekday(today-days(1), greg_weekday(Monday));

编辑:添加了 -days(1) 以避免返回作为参数给出的日期,因为“上周一”可能永远不会表示周一的“今天”(参见 docs )。这也是实现“N 天前”起点的更短方式。

关于c++ - 使用 boost::date,我如何计算 "last Monday"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470520/

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