http://i243.photobucket.com/albums/ff20/fenris0014/2008calendar-1.jpg
http://i243.photobucket.com/albums/...8calendar-2.jpg
每個月份用一個數字代表,數字取決於一號的前一天為星期幾
Sun : 0 Mon : 1 Tue : 2 Wed : 3 Thu : 4 Fri : 5 Sat : 6
所以2008年各月的數字代表為
145
136
140
250
算法 : (代表數字+天數) 除 7 取餘數
例 : 4/17
4月代表數字為 1
故 (1 + 17) / 7 = 2...餘4(星期四)
往前或往後推算很簡單,一年 365 天
365 / 7 = 52.....餘1
所以隔年的星期數會加 1
遇到閏年再加 1
以 2009 年為例
2008 為閏年,所以 1、2 月每天的星期數要加 2
其他各月加 1
我每年都會重背當年份的12個代表數字
算星期幾速度才會快
如果有更好的算法也請大家分享一下