有没有人知道如何将一个月,一年和一天转换为任何一年的当天名称?例如:
function convert(day, year, month)
...
return "Monday"
end
提前致谢!
答案 0 :(得分:2)
您可以使用以下方法:
此方法使用不同的代码 几个月和几年加快了 计算星期几。 你甚至可以记住 码。我们将使用2482年12月16日 一个例子。
取一年的最后两位数字。在 我们的例子,这是82。
除以4,然后丢弃任何余数。 82/4 = 20,余数2,所以我们想 “20”。
添加当月的日期。在我们的 例如,20 + 16 = 36。
添加月份的键值 下表。 1月2月3月4月5月 6月7月8月9月10月11月12月1日4 4 0 2 5 0 3 6 1 4 6
我们的例子是12月, 密钥值为6. 36 + 6 = 42。
如果您的日期是1月或2月 闰年,减去1.我们是 使用12月,所以我们没有 担心这一步。
添加世纪代码 下表。 (这些代码适用于 公历。规则 朱利安日期稍微简单。) 1700s 1800s 1900s 2000s 4 2 0 6
我们的榜样年份是2482年 2400s不在表中。幸运的是, 公历重复每一次 四百年。我们所要做的就是 加上或减去400,直到我们有一个 表中的日期。 2482 - 400 = 2082,所以我们看看2000年代的表格,并获得代码6.现在我们 将此添加到我们的运行总计中:42 + 6 = 48。
添加年份的最后两位数字。 48 + 82 = 130。
除以7并取余数。 这一次,1表示星期日,2表示 星期一,等等。余数为0 意思是星期六。
答案 1 :(得分:0)
快速谷歌“星期几算法”出现了this Wikipedia article
但根据您需要使用的日期,请注意strange history of Gregorian calendar adoption