tvn_hut > 22-08-13, 05:40 PM
cpucloi > 22-08-13, 09:43 PM
truonghet > 23-08-13, 12:01 AM
(22-08-13, 05:40 PM)tvn_hut Đã viết: Hi all
Hiện tại mình gặp khó khăn trong việc xử lý tính khoảng thời gian giữa hai thời điểm khác nhau. Hai thời điểm này sẽ được nhập trên form. Trong trường hợp mốc time cuối > mốc time đầu thì có thể làm được nhưng trong trường hợp ngược lại thì không đúng. Ví dụ mốc thời gian đầu là 22:15 và mốc thời gian sau là 1:15 chẳng hạn. Thời gian giới hạn chỉ trong 24h thôi. Kết quả đúng phải là 360 phút. Vậy nhờ các bạn giúp mình thủ thuật này nhé
Cám ơn các bạn nhiều
thquanks > 23-08-13, 08:49 AM
thquanks > 23-08-13, 10:43 AM
tvn_hut > 23-08-13, 05:01 PM
[Dim Mtime As Date
Private Sub CboDETime_AfterUpdate()
If Not IsNull(Me![DSTime]) And Not IsNull(Me![DETime]) Then
If Hour(Me![DETime]) > Hour(Me![DSTime]) Then
Mtime = (Me![DETime] - Me![DSTime])
Else
Mtime = (Me![DETime] + 24 - Me![DSTime])
End If
TotDownTime = IIf(Hour(Mtime) = 12, 0, Hour(Mtime) * 60) + Minute(Mtime)
End If
End Sub
Private Sub DSTime_AfterUpdate()
If Not IsNull(Me![DSTime]) And Not IsNull(Me![DETime]) Then
If Hour(Me![DETime]) > Hour(Me![DSTime]) Then
Mtime = (Me![DETime] - Me![DSTime])
Else
Mtime = (Me![DETime] + 24 - Me![DSTime])
End If
TotDownTime = IIf(Hour(Mtime) = 12, 0, Hour(Mtime) * 60) + Minute(Mtime)
End If
End Sub
Private Sub CboTotDownTime_AfterUpdate()
If Not IsNull(Me![DSTime]) And Not IsNull(Me![DETime]) Then
If Hour(Me![DETime]) > Hour(Me![DSTime]) Then
Mtime = (Me![DETime] - Me![DSTime])
Else
Mtime = (Me![DETime] + 24 - Me![DSTime])
End If
TotDownTime = IIf(Hour(Mtime) = 12, 0, Hour(Mtime) * 60) + Minute(Mtime)
End If
If Not IsNull(Me![DSTime]) And Not IsNull(Me![DETime]) Then
Mtime = CVDate(Me![DSTime]) + CVDate(Me![TotDownTime] \ 60 & ":" & Me![TotDownTime] - (Me![TotDownTime] \ 60) * 60)
Me![DETime] = Mtime
End If
End Sub/php