已知日期求星期
xiufanivan · · 个人记录
设星期为w,年份为y,月份为m,日期为d
计算结果为0~6,对应周一到周日。
注意:1,2月要当成上一年13,14月计算,上述除法均为整除。
具体代码:
#include <iostream>
#include <string>
using namespace std;
// 日期求星期
int week(int y, int m, int d) {
if (m <= 2) {
m += 12;
y--;
}
return (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
}
int main()
{
string s[7] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
int w = week(2023, 2, 27);
cout << s[w] << endl;
return 0;
}