VB 下班倒计时问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:58:10
上午12:00:00 或下午18:00:00 下班

程序要求倒计显示“离下班时间还有: 00:00:00 ”
要求同时适用上午和下午,而且时、分、秒都是两位的,如“离下班时间还有: 01:23:05 ”

完善一下吧
Option Explicit

Const TIMER_AM As Date = "12:00:00"
Const TIMER_PM As Date = "18:00:00"
Const TIMER_OTHER As Date = "6:00:00" '假设的早班上班时间,至少要有这个条件吧?

'其实最好将上面的常量以参数方式传入下面的函数,这样便于你程序的维护,这儿不知道你具体要求,只是提供一个思路的示例
Private Function GetTime() As String

Dim dt As Date
Dim n As Long

Select Case Time
Case TIMER_OTHER To TIMER_AM
dt = TIMER_AM
Case TIMER_AM To TIMER_PM
dt = TIMER_PM
Case Else
GetTime = "非工作时间"
Exit Function
End Select
n = DateDiff("s", Time, dt)
GetTime = "离下班时间还有:" & Format(TimeSerial(0, 0, n), "hh:mm:ss")

End Function

Private Sub Form_Load()
Label1 = GetTime
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub
<