我在窗口上有2个text1和text2控件
text1.text ="17:28:06"
text2.text ="00:56"
现在让2者相加为 text3.text = "17:29:02"
因为我有个播放器 WindowsMediaPlayer1 控件,里面播放的歌曲起始是00:00开始的,text1里面显示的是12:00:00 等歌曲播放完毕以后 看text2中歌曲的在什么时间段播放完毕的,假如歌曲是3分钟,那text2中显示的肯定是 12:03:00.
VB 时间相加问题
答案:2 悬赏:80 手机版
解决时间 2021-02-14 18:17
- 提问者网友:鐵馬踏冰河
- 2021-02-14 11:18
最佳答案
- 五星知识达人网友:猎心人
- 2021-02-14 12:49
dim date1 as date = text1.text
dim date2 as date = text2.text
Dim date3 As Date = date1.AddHours(date2.Hour)
date3 = date1.AddMinutes(date2.Minute)
date3 = date1.AddSeconds(date2.Second)
MsgBox(date3)
注:date常数必须带有小时、分钟和秒钟,你的 Text2.Text 的值是不能转换为时间常数的。必须为“小时:分钟:秒钟”的格式。
另外:这是 2008 的代码。不是 6.0 的。
要是那样,你必须把歌曲播放时间转换为秒数。然后在 Date 变量上用 AddSeconds 函数加上秒数就可以了,VB 会自动转换为相应的分钟和小时……还是 2008 的
dim date2 as date = text2.text
Dim date3 As Date = date1.AddHours(date2.Hour)
date3 = date1.AddMinutes(date2.Minute)
date3 = date1.AddSeconds(date2.Second)
MsgBox(date3)
注:date常数必须带有小时、分钟和秒钟,你的 Text2.Text 的值是不能转换为时间常数的。必须为“小时:分钟:秒钟”的格式。
另外:这是 2008 的代码。不是 6.0 的。
要是那样,你必须把歌曲播放时间转换为秒数。然后在 Date 变量上用 AddSeconds 函数加上秒数就可以了,VB 会自动转换为相应的分钟和小时……还是 2008 的
全部回答
- 1楼网友:低音帝王
- 2021-02-14 13:58
a,b都设为字符串型,且规格为##:00:00:00,小时不限制位数,但是后面的都一定要设置两位,需要时调用sumtime(时间1, 时间2),返回值就是结果了,这样就行
private function sumtime(a as string, b as string)
mstemp = val(right(a, 2)) + val(right(b, 2))
stemp = val(left(right(a, 5), 2)) + val(left(right(b, 5), 2))
mtemp = val(left(right(a, 8), 2)) + val(left(right(b, 8), 2))
htemp = val(left(a, instr(a, ":") - 1)) + val(left(b, instr(b, ":") - 1))
ms = val(mstemp) mod 100
stemp = val(stemp) + val(mstemp) \ 100
s = val(stemp) mod 60
mtemp = val(mtemp) + val(stemp) \ 60
m = val(mtemp) mod 60
h = val(htemp) + val(mtemp) \ 60
sumtime = h & ":" & format(m, "00") & ":" & format(s, "00") & ":" & format(ms, "00")
end function
private sub form_load()
dim a as string, b as string
a = "0:00:00.50"
b = "1:00:00.60"
msgbox sumtime(a, b)
end sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯