分开统计
'Dim d1 As Date = "2017-06-12 8:00:00"
'Dim d2 As Date = "2017-06-13 12:00:00"
'Dim d1 As Date = "2017-06-12 13:30:00"
'Dim d2 As Date = "2017-06-13 18:00:00"
Dim d1 As Date = "2017-06-12 21:00:00"
Dim d2 As Date = "2017-06-14 12:00:00"
If d1.Hour = 8 Then '上午
Dim day As Integer = Math.Floor((d2-d1).Totaldays)
Dim hour As Integer = (new Date(1,1,1,d2.hour, d2.Minute, d2.Second) - new Date(1,1,1, d1.hour, d1.minute, d1.second)).Totalhours
Dim days = day + iif(hour<=4, 0.5, 1)
msgbox(days)
ElseIf d1.hour = 13 Then '下午
Dim day As Integer = Math.Floor((d2-d1).Totaldays)
Dim hour As Integer = (new Date(1,1,1,d2.hour, d2.Minute, d2.Second) - new Date(1,1,1, d1.hour, d1.minute, d1.second)).Totalhours
Dim days = day + iif(hour<=4, 0.5, 1)
msgbox(days)
ElseIf d1.hour = 21 Then '晚上
Dim day As Integer = Math.Floor((d2-d1).Totaldays)
Dim hour As Integer = (new Date(1,1,1,d2.hour, d2.Minute, d2.Second) - new Date(1,1,1, d1.hour, d1.minute, d1.second)).Totalhours
Dim days = day + iif(-hour>=13, 1, iif(-hour>=9, 1.5, 2))
msgbox(days)
End If