close
標題:

幫我寫寫這條程式...計算任意一天是星期幾

發問:

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

以下可供參考~計算任意一天是星期幾公式:S = X-1 + [(X-1)/4] - [(X-1)/100] + [(X-1)/400] + C解釋:X是公元的年數,C是從這一年的元旦算起到這天為止(連這一天在內)的日數, [(X-1)/4]、[(X-1)/100]、[(X-1)/400]... 顯示更多 以下可供參考~ 計算任意一天是星期幾 公式: S = X-1 + [(X-1)/4] - [(X-1)/100] + [(X-1)/400] + C 解釋:X是公元的年數,C是從這一年的元旦算起到這天為止(連這一天在內)的日數, [(X-1)/4]、[(X-1)/100]、[(X-1)/400] 分別表示其整除部分。 求出S後,再用7除,取餘數,餘數為0是星期日,若不為0,餘數是幾,這一天就是星期幾。 判斷輸入的年份是否為閏年,由歷法可知,若該年年數不能被4整除,則該年為平年,即2月為28天;若能被4整除,但不能被100整除,則該年為閏年,即2月為29天;若能被100整除,看其是否能被400整除,若能被400整除,則為閏年,否則為平年。 讓變數變成陣列的函數”ARRAY” Mon=ARRAY(31,28,31,30,31,……,31) Mon(0)=31 核對特別的日子 (分別輸入年、月、日): 例一: 1949/10/1 (星期六) 例二: 1921/7/1 (星期五) 例三: 1984/1/1 (星期日) 例四: 2000/3/8 (星期三) 例五: 1986/6/1 (星期日) 更新: 是visual basic的程式碼..

最佳解答:

計算任意一天是星期幾 好似條公式錯左甘: Dim S As Long Dim X As Long Dim C As Long Dim DayArray() As String Dim YuanDan As Date DayArray = Split("日,一,二,三,四,五,六", ",") X = DateTime.Year(Now) YuanDan = DateTime.DateSerial(DateTime.Year(Now), 1, 1) X = DateTime.DateDiff("d", YuanDan, Now) +1 '減去後加上今天 S = X - 1 + ((X - 1) / 4) - ((X - 1) / 100) +((X - 1) / 400)+C MsgBox "今天是星期" & DayArray(S Mod 7) '貌似有些問題 MsgBox "但其實今天是星期" & DayArray (Weekday(Now)) '這個才是對的 閏年平年判斷: Dim year As Long year = InputBox("請輸入年份", "潤平年判斷") If IsNumeric(year) = True And year < 2999 And year > 0 Then MsgBox year & "是" & IIf(year Mod 4 = 0, IIf(year Mod 100 = 0, IIf(year Mod 400 = 0, "閏年", "平年"), "閏年"), "平年") End If 讓變數變成陣列的函數”ARRAY”唔知道要做咩: Dim Mon() Mon = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) Mon(0)=31 核對特別的日子 (分別輸入年、月、日): Dim d As Date Dim days() As String days = Split("錯誤,日,一,二,三,四,五,六", ",") On Error GoTo Error_ MyDate = InputBox("請輸入日期,格式是:dd/mm/yyyy", "核對日子") d = Format(MyDate, "dd/mm/yyyy") MsgBox MyDate & "是星期" & days(Weekday(d)) Exit Sub Error_: MsgBox Err.Description, vbCritical, "Error"

其他解答:
arrow
arrow

    hzb53jl55v 發表在 痞客邦 留言(0) 人氣()