Advertisement
Advertisement
| 06.16.2008 at 08:41AM PDT, ID: 23488542 |
|
[x]
Attachment Details
|
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: |
Private Enum MSeconds
Days = 86400000
Hours = 3600000
Minutes = 60000
Seconds = 1000
End Enum
Private Function GetNextInterval() As Long
Dim day As Integer = Now.DayOfWeek
Dim day2 As Integer = DayBox.SelectedIndex
Dim d As Integer = 0
Dim h As Integer = CInt(Split(TimeBox.Text, ":")(0))
Dim m As Integer = CInt(Split(TimeBox.Text, ":")(1))
Dim s As Integer = 0
' number of days til next backup
If day > day2 Then
' if today is past backup day
d = 7 - (day - day2)
ElseIf day2 > day Then
d = day2 - day
Else
'day=day2
Dim time As New Date(Now.Year, Now.Month, Now.Day, h, m, s)
Dim ts As TimeSpan = time - Now
If ts.TotalMilliseconds > 0 Then
' its passed already
d = 6
Else
d = 0
End If
End If
' number of hours
If h = 0 Then
' use 24
If Now.Hour = 0 Then
h = 0
Else
h = 24 - Now.Hour
End If
Else
If h > Now.Hour Then
h = h - Now.Hour
ElseIf h < Now.Hour Then
h = 24 - (Now.Hour - h)
Else
h = 0
End If
End If
' number of minutes
If m = 0 Then
' use 60
If m = Now.Minute Then
m = 0
Else
m = 60 - m
End If
ElseIf m = 30 Then
If m > Now.Minute Then
m = 30 - Now.Minute
Else
m = 60 - (Now.Minute - m)
End If
End If
' number of secods - leave at 0
s = 0
Return d * MSeconds.Days + h * MSeconds.Hours + m * MSeconds.Minutes + s * MSeconds.Seconds
End Function
|