蔡基姆拉尔森公式如何根据年月日进行计算?
- 内容介绍
- 文章标签
- 相关推荐
本文共计556个文字,预计阅读时间需要3分钟。
原文示例:本文实例讲述了C++基于泰勒公式实现由年月日确定周几的方法。分享给大家,供大家参考,具体如下:
C++实现泰勒公式计算周几的示例代码:
cpp#include #include
// 计算给定年月日是周几int calculateWeekday(int year, int month, int day) { if (month==1 || month==2) { month +=12; year -=1; } int q=day; int m=month; int k=year % 100; int j=year / 100; int h=(q + (13 * (m + 1)) / 5 + k + k / 4 + j / 4 + 5 * j) % 7; return (h + 5) % 7; // 返回0表示周日,1表示周一,以此类推}
int main() { int year, month, day; std::cout <> year >> month >> day; int weekday=calculateWeekday(year, month, day); std::cout << 该日期是周 < 简化版:cpp#include using namespace std; int calculateWeekday(int year, int month, int day) { if (month <3) { month +=12; year--; } int q=day, m=month, k=year % 100, j=year / 100; int h=(q + (13 * (m + 1)) / 5 + k + k / 4 + j / 4 + 5 * j) % 7; return (h + 5) % 7;} int main() { int year, month, day; cout <> year >> month >> day; int weekday=calculateWeekday(year, month, day); cout << 该日期是周 < 本文实例讲述了C++基于蔡基姆拉尔森计算公式实现由年月日确定周几的方法。分享给大家供大家参考,具体如下:
#include <iostream>
#include <string>
using namespace std;
int whatday(int y, int m, int d) {
// 返回正确的星期。用 0 - 6 表示 星期 1 - 7
if(m==1||m==2)
{
y--;
m+=12;
}
return(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}
string weekday[7] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
int main() {
int y, m, d;
cin >> y >> m >> d;
cout << weekday[whatday(y, m, d)] << endl;
return 0;
}
PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用: 在线日期/天数计算器: 在线日期计算器/相差天数计算器: 在线日期天数差计算器: Unix时间戳(timestamp)转换工具: 希望本文所述对大家C++程序设计有所帮助。
tools.jb51.net/jisuanqi/date_jisuanqi
tools.jb51.net/jisuanqi/datecalc
tools.jb51.net/jisuanqi/onlinedatejsq
tools.jb51.net/code/unixtime
本文共计556个文字,预计阅读时间需要3分钟。
原文示例:本文实例讲述了C++基于泰勒公式实现由年月日确定周几的方法。分享给大家,供大家参考,具体如下:
C++实现泰勒公式计算周几的示例代码:
cpp#include #include
// 计算给定年月日是周几int calculateWeekday(int year, int month, int day) { if (month==1 || month==2) { month +=12; year -=1; } int q=day; int m=month; int k=year % 100; int j=year / 100; int h=(q + (13 * (m + 1)) / 5 + k + k / 4 + j / 4 + 5 * j) % 7; return (h + 5) % 7; // 返回0表示周日,1表示周一,以此类推}
int main() { int year, month, day; std::cout <> year >> month >> day; int weekday=calculateWeekday(year, month, day); std::cout << 该日期是周 < 简化版:cpp#include using namespace std; int calculateWeekday(int year, int month, int day) { if (month <3) { month +=12; year--; } int q=day, m=month, k=year % 100, j=year / 100; int h=(q + (13 * (m + 1)) / 5 + k + k / 4 + j / 4 + 5 * j) % 7; return (h + 5) % 7;} int main() { int year, month, day; cout <> year >> month >> day; int weekday=calculateWeekday(year, month, day); cout << 该日期是周 < 本文实例讲述了C++基于蔡基姆拉尔森计算公式实现由年月日确定周几的方法。分享给大家供大家参考,具体如下:
#include <iostream>
#include <string>
using namespace std;
int whatday(int y, int m, int d) {
// 返回正确的星期。用 0 - 6 表示 星期 1 - 7
if(m==1||m==2)
{
y--;
m+=12;
}
return(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}
string weekday[7] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
int main() {
int y, m, d;
cin >> y >> m >> d;
cout << weekday[whatday(y, m, d)] << endl;
return 0;
}
PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用: 在线日期/天数计算器: 在线日期计算器/相差天数计算器: 在线日期天数差计算器: Unix时间戳(timestamp)转换工具: 希望本文所述对大家C++程序设计有所帮助。
tools.jb51.net/jisuanqi/date_jisuanqi
tools.jb51.net/jisuanqi/datecalc
tools.jb51.net/jisuanqi/onlinedatejsq
tools.jb51.net/code/unixtime

