我设置了个时间: 每天的22:00:00要进行一项操作如果在定时器内判断时间到了?            If (TimeValue("22:00:00") = TimeValue(DateTime.Now)) Then
                
                flagStartRead = True
            End If这样好像不对啊怎么做呢,高手指教。

解决方案 »

  1.   

    if #22:00:00# = now then
        flagstartread = true
    end if
      

  2.   

    private sub timer1_timer()
      if #22:00:00# = now then 
        timer1.enabled=false
        '这里做你该做的事 
      end if
    end if
      

  3.   

    直接比较两个时间点是否相等不太合适
    万一CPU比较忙,隔了好几秒才触发了Timer时间,就可能漏过22:00:00这个时刻
    改成>=比较好
    Private Sub Form_Load()
        Timer1.Tag = Format(Date, "YYYY-MM-DD") & " 22:00:00"
        Timer1.Interval = 1000
        Timer1.Enabled = True
    End SubPrivate Sub Timer1_Timer()
        Dim s As String
        s = Format(Now, "YYYY-MM-DD HH:NN:SS")
        If s >= Timer1.Tag Then
            MsgBox "该干活了"
            '把下次触发时间调整到第二天22:00:00
            Timer1.Tag = Format(DateAdd("d", 1, Date), "YYYY-MM-DD") & " 22:00:00"
        End If
    End Sub