计算当天为星期几

Posted lijianming180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算当天为星期几相关的知识,希望对你有一定的参考价值。

想知道某个日期是星期几时,不一定要打开日历才能找出来。只要学会以下这个方程式,任何日期都可以算出是星期几。

首先,让我们先看看以下这三个表格里面的代码。

| 星期 | 代码 |
| 星期日 | 0 |
| 星期一 | 1 |
| 星期二 | 2 |
| 星期三 | 3 |
| 星期四 | 4 |
| 星期五 | 5 |

| 星期六 | 6 |


| 月份 | 代码 |
| 一月 | 6 |
| 二月 | 2 |
| 三月 | 2 |
| 四月 | 5 |
| 五月 | 0 |
| 六月 | 3 |
| 七月 | 5 |
| 八月 | 1 |
| 九月 | 4 |
| 十月 | 6 |
| 十一月 | 2 |

| 十二月 | 4 |


| 闰年 | 代码 |
| 2000 | 0 |
| 2004 | 5 |
| 2008 | 10 |
| 2012 | 15 |
| 2016 | 20 |
| 2020 | 25 |

| 2024 | 30 |

首先,星期日到星期六分别用0-6来表示,而年份的话以2000年为基年,每加一年则+1(例:2001年的代码为0+1=1),而到了闰年则再+1(例:2004年的代码为0+4+1=5;计算2008年的代码则是用2004的代码5+4+1=10)以此类推。在这里比较困难的只是月份的代码,这里必须背的,将这些代码牢牢地记在脑海里。

第二点要记住的就是,因为一个礼拜有7天,凡是7的倍数都可以被拿掉。例如2008年的代码是10,拿掉7则剩下3;2024年的代码是30,拿掉7x4=28则剩下30-28=2。

大专栏  计算当天为星期几期几。">▼以下图为例,我们这次要计算2069年7月20号是星期几。

7-20-2069
5 + 6 + 2 = 13
-7
___
6

星期六

为了算出2069年的代码,我们将69拆分成68+1。因为68是闰年,我们除以4可以得出2068是2000年后的第17个闰年。以17乘5我们得出85,再加上1我们可以得出2069年的代码为86。

(简地来说就是69=68+1=(4x17)+1。因为闰年要+1,所以变成[(4+1)x17]+1=86。)

接下来,因为7的倍数可以被拿掉,所以86除以7我们得出余数为2;相同地,20除以7的余数是6。然后根据上面的表格我们知道7月的代码是5。

要计算出某个日期是星期几,我们只需要将年份的代码+月份的代码+日期就可以算出了!首先我们用5+6+2=13,拿掉7后我们最终得出6这个数字。也就是说2069年7月20号是星期六!

看了以上的例子,相信这些简单的加法应该不会难倒你吧!接下来,我们要提醒大家,如果要计算的日期是闰年的1月或2月的话,此时代码就要-1。为了让大家更能了解,就让我们一起来算一算2004年2月18号是星期几吧。


2-18-2004
2 + 4 + 5 = 11

-7
-----
4-1
星期三

以上的算法只适用于2000年到2099年之间的任一日期。如果要算1999年之前或2099年之后的话,只需要再加上以下代码就可以算出正确的答案了。


| 年份 | 代码 |
| 2300到2399 | +1 |
| 2200到2299 | +3 |
| 2100到2199 | +5 |
| 2000到2099 | 0 |
| 1900到1999 | +1 |
| 1800到1899 | +3 |
| 1700到1799 | +5 |
| 1600到1699 | 0 |
| 1500到1599 | +1 |
| 1400到1499 | +3 |
| 1300到1399 | +5 |

| 1200到1299 | 0 |

这些数学小技巧是不是很神奇呢?尤其是最后一个,只需要加减乘除就可以算出某个日期是星期几。学校里完全没有教过这样的方式,也许大家可以拿去和数学老师讨论一下,说不定会被称赞呢。虽然数学还是有很多必须理解的观念,但多了一些小技巧,至少在计算上会快一点,现实生活中偶尔用到也是很实用的。赶快自己动手算一算,然后把这些学校没教的数学分享出去让大家知道吧!

以上是关于计算当天为星期几的主要内容,如果未能解决你的问题,请参考以下文章

javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!

帮编写 java 获取星期几

在oracle中怎么计算当天是本月的第几周?

JavaScript获取当天到14天内的日期及星期几

java知道当前时间,怎样知道星期几???

java中如何获取日期时间中的星期几?