計算某個具體的日期是星期幾(基姆拉爾森計算公式)

2021-10-24 08:32:41 字數 936 閱讀 6228

公式:week =  (day + 2 * month + 3 * (month + 1)/ 5 + year + year / 4 - year / 100 + y / 400 )  %  7 + 1

在公式中day表示日期中的日數,month表示月份數,year表示年數。

該公式具體怎麼證明就不知道了,在某部落格上學到的,對於初級選手來說比較實用。

例:如果是2004-1-10則換算成:2003-13-10來代入公式計算。

例:2006-10-17計算時:d=18,m=10,y=2006。

具體例題,可以參考藍橋杯 演算法提高 日期計算

資源限制

時間限制:1.0s   記憶體限制:256.0mb

問題描述

已知2023年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。

輸入格式

輸入只有一行

yyyy mm dd

輸出格式

輸出只有一行

w資料規模和約定

1599 <= yyyy <= 2999

1 <= mm <= 12

1 <= dd <= 31,且確保測試樣例中yyyy年mm月dd日是乙個合理日期

1 <= w <= 7,分別代表周一到週日

樣例輸入

2011 11 11

樣例輸出

#include#includeusing namespace std;

int main()

int w = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y /400) % 7 + 1;

cout << w << endl;

return 0;

}

計算具體日期星期幾

時間基準 公元0年1月1日 星期日 首先計算0年1月幾號星期幾 int week 週幾 int day 日 week day 1 7 因為0年1月1 日 星期日 所以在求餘的時候減去1 就可以得到乙個數字 0 1 2 3 4 5 6 代表星期幾 然後考慮如何計算不同年份1月幾號星期幾 以0年1月幾號...

php 獲取當天或某個日期是星期幾

function getweekname data,format 星期 return current echo 今天是 getweekname time 星期 echo echo 今天是 getweekname time 禮拜 echo echo 2010 12 12是 getweekname st...

oracle中如何判斷某個日期是星期幾

sql select to char to date color red 2011 03 13 color yyyy mm dd d from dual 其中 紅色部分為傳入日期 b to char的其他用法 b select to char sysdate,ss from dual取當前時間秒部分...