我有一个故事,其中某些事件在整个日历日期间反复发生,彼此完美匹配,例如2011年,2005年,1994年可以相互替换这些日历 我希望能够找到过去和未来的日历年
如果有人可以帮助我,因为我没有编程能力 提前致谢
答案 0 :(得分:3)
答案 1 :(得分:2)
您只需要比较一年中第一天的星期几,并分别比较闰年和非闰年(它们显然会有所不同)。如果第一天是相同的,一年中的日子是相同的,那么整年也是如此。
随着这种减少,我们需要首先知道什么是闰年。从wikipedia开始算法
if year modulo 400 is 0
then is_leap_year
else if year modulo 100 is 0
then not_leap_year
else if year modulo 4 is 0
then is_leap_year
else
not_leap_year
然后我们需要计算一年的第一天。在我们开始之前,我们需要一个基础。我们假设2000年,从星期六开始。每年我们都会前进,我们会在一周内向前推进一天,除非这一年是在闰年之后,我们会向前推进两天。
让我们来看一个例子。 2000年星期六开始。 2001年是在星期一,2天后开始,因为2000年是闰年。 2002年星期二开始。 2003年的一个星期三。 2004年周四。 2005年的一个星期六,因为2004年是闰年。由此我们看到2000年和2005年在一周的同一天开始,但一个是闰年,而另一个不是。如果我们继续,我们将在星期六找到2011年的开始,因此与2005年相同。
我们可以以类似的方式向后工作以找到过去的年份,或者我们可以选择较早的开始年份。
答案 2 :(得分:0)
Dominical letter B:... 1910 1921 1927 1938 1949 1955 1966 1977 1983 1994 2005 2011 2022 2033 2039 2050 2061 2067 2078 2089 2095 ...
答案 3 :(得分:0)
小心在1752年和1582年之前回去,分别从日历中删除了11天和10天。请参阅dataandtime.com。否则就有14个可能的日历......一半是2月29日,一半没有。每对日历都在一周的不同日期开始。应该有一个excel电子表格(很容易生成一个),将1752年以来的年份映射到14列之一。
答案 4 :(得分:0)
2016年结束于1994年,2005年和2011年的同一天,但2016年周五(闰年)开始,而所有其他年份从周六开始,因此我们需要等到2011年的日期之前的2022年再次匹配。