在C++中,给定月份中的星期一、星期二等可以通过以下方式计算:
<ctime>
或 <chrono>
,来获取当前日期和时间信息。mktime()
或 timegm()
,将年份、月份和日期转换为时间戳。localtime()
或 gmtime()
,获取当前日期的详细信息,包括星期几。下面是一个示例代码,演示如何计算给定月份中的星期一、星期二等:
#include <iostream>
#include <ctime>
int main() {
// 获取当前日期和时间
std::time_t now = std::time(nullptr);
std::tm* current_date = std::localtime(&now);
// 获取当前月份的年份和月份
int year = current_date->tm_year + 1900;
int month = current_date->tm_mon + 1;
// 获取给定月份的第一天的日期和时间
std::tm first_day = *current_date;
first_day.tm_mday = 1;
std::mktime(&first_day);
// 计算给定月份中的星期一、星期二等
for (int day = 1; day <= 31; day++) {
std::tm current_day = first_day;
current_day.tm_mday = day;
std::mktime(¤t_day);
// 判断当前日期是否为给定的星期一、星期二等
if (current_day.tm_wday == 1) {
std::cout << "星期一:" << year << "年" << month << "月" << day << "日" << std::endl;
} else if (current_day.tm_wday == 2) {
std::cout << "星期二:" << year << "年" << month << "月" << day << "日" << std::endl;
}
// 继续判断其他星期几...
}
return 0;
}
请注意,以上示例代码仅演示了如何计算给定月份中的星期一和星期二。如果需要计算其他星期几,可以根据需要进行相应的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云