7,762
社区成员
发帖
与我相关
我的任务
分享
Sub T(ByVal date1 As Date, ByVal date2 As Date, ByVal iH1 As Integer, ByVal iH2 As Integer, ByVal DH As Integer)
Dim dt As Date, cymd1 As Date, cymd2 As Date
Dim iH As Integer
If iH2 < iH1 Then iH2 = iH2 + 24
dt = date1
While dt < date2
For iH = iH1 To iH2 Step IIf(DH = 1, 1, DH + 1)
cymd1 = DateAdd("h", iH, dt)
If DH = 1 Then
cymd2 = cymd1
ElseIf iH + DH > iH2 Then
cymd2 = DateAdd("h", iH2, dt)
Else
cymd2 = DateAdd("h", DH, cymd1)
End If
Debug.Print Format$(cymd1, "yyyymmddhh"), Format$(cymd2, "yyyymmddhh")
Next
dt = DateAdd("d", 1, dt)
Wend
End Sub