我想做一个程序,它不接受任何输入,并返回上个星期一的日期。(我不关心时区。我只担心公历)。我正在使用date by Howard Hinnant。这就是我目前所做的:
#include <iostream>
#include <date/date.h>
int main() {
auto todays_day = date::year_month_weekday(date::floor<date::days>(std::chrono::system_clock::now()));
auto todays_date = date::floor<date::days>(std::chrono::system_clock::now());
int offset = 0;
auto weekday = todays_day.weekday();
if(weekday == date::Tuesday)
offset = 1;
else if (weekday == date::Wednesday)
offset = 2;
else if (weekday == date::Thursday)
offset = 3;
else if (weekday == date::Friday)
offset = 4;
else if (weekday == date::Saturday)
offset = 5;
else if (weekday == date::Sunday)
offset = 6;
auto lastMonday = date::year_month_day(todays_date - date::days(offset));
std::cout << lastMonday;
}
有没有更好的方法来在没有boost::previous_weekday的情况下做到这一点?(不要求不使用boost。我只是想知道这是否可能)
转载请注明出处:http://www.nali5.com/article/20230507/2072374.html