日历计算算法

时间:2012-10-09 05:56:46

标签: algorithm logic

面试问题之一..

如果

1st january 2006 --> Sunday

然后

1st january 2010 --> ???

2 个答案:

答案 0 :(得分:2)

每个非闰年增加1天,每个闰年增加2天,无论是什么值mod 7.最后在给定的一天添加该天数。 例如。

2007=1 day

2008=2 days

2009=1 day

2010=1 day

总共5天 和5 % 7=5 在星期天添加5天,您将获得Friday

答案 1 :(得分:0)

2006年不是闰年,它有365天。

2007年有365天。

2008年是闰年,有366天。

2009年,365天。

所以两个日期的365 + 365 + 366 + 365 = = 1461天不同。

一周有7天,1461 mod 7是星期五到星期五后5天,5天。

所以答案是星期五。