c++查询某年月日对应的是星期几
时间: 2024-10-14 14:03:33 浏览: 36
在C++中,你可以使用`<ctime>`库来获取日期对应的星期几。下面是一个简单的示例,展示了如何计算给定年、月、日的星期:
```cpp
#include <iostream>
#include <ctime>
int main() {
int year, month, day;
// 获取用户输入的年、月、日
std::cout << "请输入年份: ";
std::cin >> year;
std::cout << "请输入月份(1-12): ";
std::cin >> month;
std::cout << "请输入日期: ";
std::cin >> day;
// 确保输入有效
if (month < 1 || month > 12 || day < 1) {
std::cerr << "无效的日期输入!" << std::endl;
return 1;
}
// 创建一个时间结构 tm 并设置年、月、日等信息
std::tm date_info = {0};
date_info.tm_year = year - 1900; // 时间结构需要从公元1900年开始算
date_info.tm_mon = month - 1;
date_info.tm_mday = day;
// 使用 mktime 函数将结构转换为时间戳,并获取星期几
time_t raw_time = mktime(&date_info);
if (raw_time == -1) {
std::cerr << "无法计算日期到星期几!" << std::endl;
return 1;
}
// 使用 C++11 的 std::localtime 获取本地的星期几表示
std::tm* local_date = localtime(&raw_time);
std::string days[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
int weekday_index = local_date->tm_wday; // 星期天为0
std::cout << "指定日期 (" << year << "-" << month << "-" << day << ") 是 " << days[weekday_index] << "." << std::endl;
return 0;
}
```
当你运行这个程序并输入具体的日期,它会输出对应日期的星期。
阅读全文