我有一个格式为年 (int)、月 (int) 和日 (int) 的日期,例如,2018 年 10 月 12 日为 2018、10、12。
有没有办法可以使用带有这些整数的 C++ Chrono 库来确定我的“日期”是否是周末?
如果不是,那么实现这一目标的最简单的替代方法是什么?
我想制作一个不输入任何内容并返回上一个星期一的日期的程序。(我不在乎时区。我只担心公历)。我正在使用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 …
Run Code Online (Sandbox Code Playgroud) I am using C++ 14 and am trying to get the current day of week. After some reading I am using date.h by Howard E. Hinnant.
However I am struggling to get a day of the week (encoded as 0 thru 6).
Something like this prints out Thu
:
int main(void)
{
date::sys_days t;
weekday wd{t};
cout << wd << '\n';
}
Run Code Online (Sandbox Code Playgroud)
Many answers on this site regarding getting the current day of the week use chrono
.
How can …