VB 时间间隔的问题

kwsxz 2009-09-25 09:58:35
Option Explicit

Private Sub Command1_Click()
If DateDiff("n", Text1.Text, Time) >= 10 Then MsgBox "OK"
End Sub

如果 当前系统时间 大于等于 text1.text中的时间就弹出 “OK”

也就是说 如果现在系统时间是20:00:00 text1.text中的时间是19:00:00 那就会弹出 OK

简单点说就是只要间隔是10分钟就弹出OK

现在问题出来了,如果当前系统时间是0:00:00的时候就有问题了

我就想只要间隔时间是10分钟或者大于10分钟就弹出 OK

大侠帮忙改下啊,分不多大侠帮帮忙啊。
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2009-09-26
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
If Abs(DateDiff("n", Text1.Text, Time)) >= 10 Then MsgBox "OK"
End Sub
clear_zero 2009-09-25
  • 打赏
  • 举报
回复
带上日期就好了
孤独剑_LPZ 2009-09-25
  • 打赏
  • 举报
回复
需要带上日期才能解决0:00:00的问题,如
sTime2 = Format(Now, "yyyy-mm-dd hh:mm:ss")
text1.text中的时间也应是这种格式,才能用datediff函数,在sql语句中得到时间差
三楼の郎 2009-09-25
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
dim t as long
t=datediff("n",Text1.text,Time)
if t<0 then t=24*60+t

If t >= 10 Then
MsgBox "OK"
end if
End Sub
kwsxz 2009-09-25
  • 打赏
  • 举报
回复
我text1.text里的时间是获取一个ini里的时间啊,这个不行啊
贝隆 2009-09-25
  • 打赏
  • 举报
回复
Option Explicit
Dim lngP As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Form_Load()
lngP = GetTickCount
Timer1.Enabled = True
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
If GetTickCount - lngP > 600000 Then
MsgBox "OK"
lngP = GetTickCount
End If
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧