每一種語言都有自己的保留字函式可用
比如
VB 是 Weekday
===================
Weekday 函數範例
本範例使用 Weekday 函數來傳回某一日期為星期幾。
Dim MyDate, MyWeekDay
MyDate = #February 12, 1969# ' 指定一日期。
MyWeekDay = Weekday(MyDate) ' MyWeekDay 的值為 4,因為 MyDate 是星期四。
===================
其實要自己設計也很簡單的
以公元0001年為起點
每四年有一個潤年
所以 (公元XXXX年 / 4) 看能否整除
能的話 當年的2月即為29天
否則 當年的2月即為28天
那其他月份是固定的
大月(31天) 1 3 5 7 8 10 12
小月(30天) 4 6 9 11
0001年 01月 01日 是 星期一
所以VB裡
MsgBox Weekday("0001 01 01")
會出現 "2" (代表星期一)
回過頭來
1983年3月
20號是星期幾?
1983 mod 4 = 3 不是潤年(2月只有28天)
所以 1月+2月=31+28 再 +
20 = 第
79天
0001~1983 總共 365*(1983-1)=
723430天
再加每4年多一天= (1983-1)/4 捨棄小數點 =
495
1983年3月20號=
723430+495+79= 公元第724004天
724004 mod 7 = 1,所以是 星期日
(如果 mod 7 = 0,表示是星期六)
換算表
##########
星期日 = 1
星期一 = 2
星期二 = 3
星期三 = 4
星期四 = 5
星期五 = 6
星期六 = 0
##########
驗證
2000年 12月 12日 (星期2)
729635+
499+
(186+120+29)=335+
12=730481
2005年 12月 01日 (星期4)
731460+
501+
(186+120+28)=334+
1=732296
1995年 07月 12日 (星期3)
727810+
498+
(93+60+28)=181+
12=728501