从月,年和日获取日期名称

时间:2010-10-24 21:18:13

标签: language-agnostic date

有没有人知道如何将一个月,一年和一天转换为任何一年的当天名称?例如:

function convert(day, year, month)
...
return "Monday"
end

提前致谢!

2 个答案:

答案 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   意思是星期六。

How to calculate the day of the week

答案 1 :(得分:0)

快速谷歌“星期几算法”出现了this Wikipedia article

但根据您需要使用的日期,请注意strange history of Gregorian calendar adoption