【VB】取得該月第幾周的第一天及最後一天
Dim FirstDay As String = ""
Dim LastDay As String = ""
'2011/05 的第二週 的第一天與最後一天各是幾號
Call GetFirstLastDateForWeek("2011", "5", 2, FirstDay, LastDay)
MsgBox(FirstDay & "," & LastDay) '輸出-->FirstDay:8, LastDay:14
副程式:
Sub GetFirstLastDateForWeek(ByVal sYear As String, ByVal sMonth As String, ByVal Week As Int16, ByRef FirstDay As String, ByRef LastDay As String)
'*************************************
'取得該日期的第n週的第一、最後一天
'*************************************
Dim FirstDate As New DateTime(sYear, sMonth, 1) '該週的第一天 星期日
Dim LastDate As New DateTime(sYear, sMonth, 1) '該週的最後一天 星期六
For i As Int16 = 1 To Week
'第幾週
FirstDate = LastDate
Do Until Weekday(LastDate) = 7
LastDate = LastDate.AddDays(1)
Loop
If Week > 1 Then
LastDate = LastDate.AddDays(1)
End If
Next
If Week > 1 Then
LastDate = LastDate.AddDays(-1)
End If
FirstDay = Format(FirstDate, "dd")
LastDay = Format(LastDate, "dd")
End Sub
留言
張貼留言