閏年的判斷方法 給乙個日期判斷是星期幾

2021-10-12 09:28:54 字數 1852 閱讀 1919

只需要知道三個**

日期**+月份**+年份**

就可以秒算任意年份任意日期的星期數

方法1、日期**指的是日期數,如3月18號,日期**為18。4月7號,日期**為7。

2、月份**(需要小小記憶)

五月 是 0

八月 是 1

二月 三月 十一月 是 2

六月 是 3

九月 十二月 是4

四月 七月 是5

一月 十月 是 6

如果遇到閏年 則二月**變為1,一月**變為5,其它不變。即,非閏年的月份**為622503 514624,閏年的月份**為512503 514624。

3、年份**

舉個例子 2023年的**,我們用尾數10除以4(忽略餘數)再加上10得到數字12,再用12除以7,得到的餘數5就是2023年的**。

也就是說,心算出2000到2099任意年份的**,只需將其後兩位數x除以4(忽略餘數),然後與x相加,並除以7就可以了,得到的餘數就是其年份**。10年的年份**是5,11年年份**為6。

4、秒算任意日期的星期數

如,我們算一下2023年4月25日

日期**25

月份**5

年份**5

日期**+月份**+年份**=25+5+5=35

35是7的倍數,所以2023年4月25日是星期日

再比如算一下2023年10月1日

日期**1

月份**6

年份**5

日期**+月份**+年份**=1+6+5=12

12除以7餘5,所以2023年10月1日是星期五

如果得到的**和是小於7的數,那麼此數直接是星期數

如果得到的**和是大於7的數,那麼將該數除以7得到的餘數為星期數。

方法二原理:蔡勒公式

1、w=[c/4]-2c+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]為取整符號)

2、其中,w是所求日期的星期數.如果求得的數大於7,可以減去7的倍數,直到餘數小於7為止.c是公元年份的前兩位數字,y是已知公元年份的後兩位數字;m是月數,d是日數.方括[ ]表示只擷取該數的整數部分。

3、還有乙個特別要注意的地方:所求的月份如果是1月或2月,則應視為前一年的13月或14月.所以公式中m 的取值範圍不是1-12,而是3-14.

uint8_t user_clock_date_to_week(int year,int month,int day)

//蔡勒公式

if(month==1||month==2)//判斷month是否為1或2 

year--;

month+=12;

int c=year/100;

int y=year-c*100;

int week=(c/4)-2*c+(y+y/4)+(13*(month+1)/5)+day-1;

while(week<0)

week%=7;

switch(week)

case 1:debug_print("mondayn");break;

case 2:debug_print("tuesdayn");break;

case 3:debug_print("wednesdayn");break;

case 4:debug_print("thursdayn");break;

case 5:debug_print("fridayn");break;

case 6:debug_print("saturdayn");break;

case 0:debug_print("sundayn");break;

//對星期修正

week = (week == 0) ? 6 : week - 1;

return week;

安卓 根據日期判斷星期 給乙個日期判斷是星期幾

只需要知道三個 日期 月份 年份 就可以秒算任意年份任意日期的星期數 方法1 日期 指的是日期數,如3月18號,日期 為18。4月7號,日期 為7。2 月份 需要小小記憶 五月 是 0 八月 是 1 二月 三月 十一月 是 2 六月 是 3 九月 十二月 是4 四月 七月 是5 一月 十月 是 6 ...

判斷是閏年的方法

條件 1.能被4整除,但不能被100整除。2.能被4整除,又能被400整除。int year if year 4 0 year 100 0 year 4 0 year 400 0 原理 這是由於一年的時間長短,是根據地球繞太陽轉一圈所用的時間來定的 我國古代的科學水平是非常先進的,早在二千多年前就測...

閏年的判斷方法

在公曆 格里曆 紀年中,有閏日的年份叫閏年,一般年份365天,閏年為366天。由於地球繞太陽執行週期為365天5小時48分46秒 合365.24219天 即一回歸年,公曆把一年定為365天。所餘下的時間約為四年累計一天,加在二月裡,所以平常年份每年365天,二月為28天,閏年為366天,二月為29天...