怎樣給定日期,就能算出它星期幾?怎樣算的

時間 2021-10-14 22:19:38

1樓:匿名使用者

當然。我就可以用心算和手算算出2023年-2023年公曆的任一天是星期幾,其實這並沒有什麼神祕,要講純熟是2000到2023年中的公曆任一天, 要求出20xx年的元旦是星期幾,還是很簡單的;.

比如2023年的元旦是星期 幾? 即xx=33 xx乘1,25=41.25 取 整數得41

41÷7=5 餘6 這就是2023年的元旦是這個餘數星期六;

為什麼呢?看一下萬年曆就明白了,2023年元旦是星期一,02 是星期二,03年是星期三,04年是星期四,05年是星期六,,,,就是因為04年是閏年 ,二月多了一天等於了29天,星期的順序,不是年的順序了。

不是嗎!日曆上沒有這個閏年,就都是365天,以7為模得1(即被7除的餘數),那麼年代順序也就是星期的順序了,但是沒有閏年節氣可就沒規律了。

怎麼辦?不是四年多出一天麼,現在的年代數的四分之一的整數就是多出的天數。這個數加上年代數以7為模就是元旦的星期值。

至於,具體月日是星期幾,在過去有小商品是按星期迴圈的,要知道這是非常有規律的。

就比如,某年不是閏年,元旦是星期五,(一月一日)那麼十月一日是同樣為星期五,

星期六是五月一日,星期日是八月一日,星期一是二,三,十一月,星期二是六月一日,星期三是九月和十二月一日,星期四是四月和七月一日。小商品萬年曆就是按這個規律。把它放在食指七個關節上,做為計算是很方便的。

2樓:我才是無名小將

你在網上找一個萬年曆,輸入日期就可以查到是星期幾,很簡單的哈。

怎樣由日期推算是星期幾

3樓:切切切

只需要知道三個**

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

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

方法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.

4樓:穰映

今天的日期,看星期幾,然後再逐日的往後推,那樣就可以推出是星期幾了?

5樓:梁山好漢

根據日期的規律和立法的原理,我們可以得到一個計算的公式:s=x-1+[ⅹ÷4]-[ⅹ÷100]+[x÷400]+c,其中,x表示要算的那年是多少年。c表示從這年元旦算到這天為止,包括這天的天數。

[x÷4]表示ⅹ÷4整數部分,不計後面的小數。求出s後用7來除。最後除出來,餘幾就是星期幾。

例如餘一就是星期一餘二就是星期二。

列如計算,2023年2月16日是星期幾。

s=1954-1+[1964÷4]-[1954÷100]+[1954÷400]+47

=1953+488-19+4+47(47表示,從元旦算到這天為止,包括這天。)

=2473

2473÷7等於353餘2因此這一天是星期二。

6樓:excel學習技巧

如何快速知道對應日期是星期幾?

7樓:

n=年數積+天數積(1:週日,2:週一,3:週二,4:週三,5:週四,6:週五,7:週六)

年數積:5*(x-1)/28的小數部分乘7的積(取整)(x表示公元紀年數)

天數積:y/7的餘數(y表示當年已過天數)

例如:2023年4月24日是周幾?

5*(2019-1)/28=360.3571429,取小數部分0.3571429*7=2.5,取整2為年數積

(31+28+31+24)/7=16.....2,故天積數為2.(上半年單數月31天,下半年雙數月31天,二月28天,一年365天)

n=2+2=4,故這天週三。

再例:2023年5月12日是周幾?

5*(2008-1)/28=358.3928571,取小數部分0.3928571*7=2.75,取整2為年數積

(31+29+31+30+12)/7=17.....0,故天積數為0.(閏年二月29天)

n=2+0=2,故這天週一。

8樓:匿名使用者

何必要推算,看一下萬年曆不就行了.

隨便輸入一個日期怎麼判斷它是星期幾。用c++實現。重要的是講明怎麼判斷

9樓:匿名使用者

基姆拉爾森計算公式

10樓:匿名使用者

我的想法是,

{首先定義一個日期範圍比如 1950,1,1 (知道這天星期1)到2050,12,31

getday(當前日期){求出當前日期和 1950,1,1 的差的天數}

將天數getday()/7 計算相對的星期幾,如果餘數0,則也是星期一

}每月幾天,除了2月都是固定的,其中比較難做的地方就是計算從 1950,1,1到 輸入日期有多少個閏年,此處新增另外一個函式getrunnian(){求的閏年個數}在將得到的細節天數計算到getday()中

11樓:福清港頭

我家男孩子再在6歲的時候就能夠隨便跟給一個日期便知道是星期幾,很快的,又準確,怎麼會這樣呢?那麼小的孩子是怎麼算的那麼快?

在c#中,如何給定一個日期,求出該日為星期幾?

12樓:手機使用者

% 7:(days % 7)是為了求出所求日期與2023年1月1日相差天數除去整星期數(7天為一星期)後剩餘的天數,比如說要求的數為2023年1月13日,那麼days就為12,出去整星期數後剩餘5天,至於後面加1是因為2023年1月1日是星期一,再除以7則為了求出2023年1月13日為星期幾。這個你最好多帶具體時間進去慢慢體會,不大好用文字表現出來

date =((days % 7) + date ) % 7,中加的date是你輸入年份的1月1日是星期幾,其餘的與1中形同

至於for(m = 1; m<12 ; m++) 12個月為什麼不是m<=12呢 ,是因為一年當中我們最多只需要找到12月13日,它與當年1月1日相差的天數根本沒用到12月具體有多少天,所以沒必要讓m<=12.

不知道說明白沒有,慢慢體會,多帶某一具體年份日期進去更方便你理解 加油!!!

13樓:匿名使用者

using system.globalization;

chineselunisolarcalendar cls = new chineselunisolarcalendar();

datetime dt= cls.todatetime(2010, 1,1, 0, 0, 0, 0);

注意:碰到諸如閏月的情況,則潤月後面的月份自動加一,既2023年潤五月,則閏五月為6月,後面的月加一處理,例項中的執行結果為2010-2-14

14樓:

datetime.now.dayofweek;

這個方法是獲得星期,返回值是英文的星期列舉。

如需變換格式,可以轉為數值,再另行判斷。

(int)datetime.now.dayofweek;

下面這個方法可以將星期轉為中文:

system.globalization.cultureinfo.

currentculture.datetimeformat.getdayname(datetime.

now.dayofweek);

15樓:匿名使用者

string m_time = datetime.now.tolongdatestring();

//獲取當前日期是星期幾

string dt = datetime.now.dayofweek.tostring();

string week="";

//根據取得的星期英文單詞返回漢字

switch (dt)

lashowtime.text = m_time + " " + week;

16樓:匿名使用者

string datetime = "2011-3-4";

(datetime.parse(datetime)).dayofweek;

17樓:網上衝浪玩家

system.datetime.now.dayofweek

小學三年級數學,給出年月日,再推算另一個日期只是星期幾,怎樣算

18樓:佳爺說歷史

計算方法:先算出兩個給定日期相距的天數,再用結果除以7。如果有餘數,就再原來的基礎上加上餘數的天數,而後推算;如果沒餘數,就不變。

例如:今天是2023年5月16日,星期三,那麼2023年7月28日是星期幾?

16日這一天不算在內,從5月16日開始算到7月28日(1)先算兩個給定日期相距的天數算有多少天:

5月的天數:31-16=15天;6月的天數30天;7月的天數28天。

一共有幾天:15+30+28=73天 。

(2)再用所得天數除以7:

73÷7=10(個星期).....3天 。

(3)餘數是幾,就再原來的基礎上加上餘數的天數,因為16日這一天不算在內,從16日的後面一天開始數幾天:星期四、星期

五、星期六。

所以2023年7月28日是星期六。

在c中,如何給定日期,求出該日為星期幾

手機使用者 7 days 7 是為了求出所求日期與1900年1月1日相差天數除去整星期數 7天為一星期 後剩餘的天數,比如說要求的數為1900年1月13日,那麼days就為12,出去整星期數後剩餘5天,至於後面加1是因為1900年1月1日是星期一,再除以7則為了求出1900年1月13日為星期幾。這個...

c從特定日期提取星期幾,在c 中,如何給定一個日期,求出該日為星期幾?

datetime.now.dayofweek new datetime dayofweek dayofweek是一個星期幾的列舉 datetime birth new datetime 1991,2,2 dayofweek week birth.dayofweek using system usin...