注册 登录
编程论坛 VB6论坛

VB6.0为什么使用Datediff函数时出现实时错误13

cimawhy 发布于 2023-01-24 17:12, 1107 次点击
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
8 回复
#2
cimawhy2023-01-24 17:18
最近小弟初来乍到,小白一枚,请各位大神不吝赐教~会不会是因为文本框文本转日期出错吗
#3
yuma2023-01-24 19:53
'日期相减
MsgBox DateDiff("s", "2018-11-28", "2022-09-01") '两个日期相隔秒数
MsgBox DateDiff("n", "2018-11-28", "2022-09-01") '两个日期相隔分钟数
MsgBox DateDiff("h", "2018-11-28", "2022-09-01") '两个日期相隔小时数
MsgBox DateDiff("d", "2018-11-28", "2022-09-01") '两个日期相隔天数
MsgBox DateDiff("w", "11/28/2018", "09/01/2022") '两个日期相隔周数
MsgBox DateDiff("m", "11/28/2018", "09/01/2022") '两个日期相隔月数
MsgBox DateDiff("q", "11/28/2018", "09/01/2022") '两个日期相隔季数
MsgBox DateDiff("yyyy", "11/28/2018", "09/01/2022") '两个日期相隔年数
#4
yuma2023-01-24 19:54
当前时间相加减:

Private Sub Form_Load()
Me.Show
Me.Print "当前时间:" & Now
Me.Print "昨天时间:" & Now - 1
Me.Print "前天时间:" & Now - 2
Me.Print "明天时间:" & Now + 1
Me.Print "后天时间:" & Now + 2
Me.Print "一年前时间:" & Now - 365
Me.Print "一年后时间:" & Now + 365
Me.Print "15秒前时间:" & Now - (1 / 86400) * 15
Me.Print "15秒后时间:" & Now + (1 / 86400) * 15
Me.Print "1分钟前时间:" & Now - (1 / 86400) * 60
Me.Print "1分钟后时间:" & Now + (1 / 86400) * 60
Me.Print "1小时前时间:" & Now - (1 / 86400) * 3600
Me.Print "1小时前时间:" & Now - (1 / 24) * 1
Me.Print "1小时后时间:" & Now + (1 / 86400) * 3600
Me.Print "1小时后时间:" & Now + (1 / 42) * 1
End Sub

[此贴子已经被作者于2023-1-24 20:11编辑过]

#5
yuma2023-01-24 20:13
以下是引用cimawhy在2023-1-24 17:18:59的发言:

最近小弟初来乍到,小白一枚,请各位大神不吝赐教~会不会是因为文本框文本转日期出错吗


不能你那样直接加减吧,要注意日期时间格式。

像这样:
MsgBox DateDiff("d", Now, #12/31/2099#) '日期与当前时间相隔天数
MsgBox DateDiff("d", #12/31/1999#, Now) '当前时间与日期相隔天数


[此贴子已经被作者于2023-1-24 20:29编辑过]

#6
cimawhy2023-01-27 13:43
说了半天,也没能解释,我这文本框的里的 字符串 如何转换为日期型 的
#7
cimawhy2023-01-27 13:46
s = DateDiff("s", Now, CDate(Form2.Text1.Text))  这样的代码为什么不行?
#8
yuma2023-01-28 12:39
CDate(x)  '将有效的日期字符串转换成日期

Private Sub Form_Load()
Text1.Text = "2099-12-01"
s = DateDiff("s", Now, CDate(Text1.Text))
MsgBox s
End Sub

[此贴子已经被作者于2023-1-28 12:45编辑过]

#9
风吹过b2023-01-29 09:04
加一个判断吧

if isdate(Text1.Text) then
  .....
end if

猜测 你的 Text1.text 不是有效的日期,导致函数出错。
1