如何使用C / C ++代码检查今天是否是本月的第一个星期一?
使用Java和C#更简单(如下面的链接所示)。
任何人都可以帮助我使用C / C ++实现这一目标。
c-sharp-how-can-i-check-if-today-is-the-first-monday-of-the-month
答案 0 :(得分:4)
这应该是你要找的东西:
#include <iostream>
#include <ctime>
int main(){
std::time_t result = std::time(NULL);
const std::tm* t = std::localtime(&result);
if(t->tm_wday == 1 and t->tm_mday <= 7)
std::cout << "true" << std::endl;
else
std::cout << "false" << std::endl;
}
代码已经过测试here。
答案 1 :(得分:2)
使用boost.date_time gregorian。有一个函数day_clock::local_day()
可以为您提供今天的日期。然后,您可以使用day()
成员函数查询月中的某一天和day_of_week()
成员,以查看它是否是星期一。剩下的就像你链接到的C#样本一样。
答案 2 :(得分:1)
您可以使用time()和localtime()来检索struct time *
(让我们将其命名为tp
)。那么今天是本月的第一个星期一,当且仅当tp->tm_mday <= 7
(以1开头)和tp->tm_wday == 1
(0 =星期日等)