vb怎样根据两个时间计算出时长? 15

开始时间及格式是这样的:2014-02-14_18-08-14,结束时间及格式这样的:2014-02-14_19-08-15。怎样用vb计算出时长?还有个问题:时间开始是... 开始时间及格式是这样的:2014-02-14_18-08-14,
结束时间及格式这样的:2014-02-14_19-08-15。
怎样用vb计算出时长?
还有个问题:时间开始是秒,超过60秒自动计成“分钟”,分超过60分自动讲成“小时”
展开
 我来答
200000142
2014-02-14
知道答主
回答量:50
采纳率:0%
帮助的人:17.1万
展开全部
Option Explicit
'来自CBM666百度吧吧主
Dim TmpStr$(3), Tim1 As Date, Tim2 As Date '变量声明

Private Sub Form_Load()
Tim1 = Now '将当前时间赋值给变量 Tim1
Tim2 = CDate("2016-10-17 08:30:25") '使用CDate函数将代表日期的字符转成日期型态变量 Tim2
'计算前后两个日期形态的时间差异的总秒数 调用副程序 SecToTime 返回文字形态的日时分秒
MsgBox SecToTime(DateDiff("s", Tim1, Tim2)) '
End Sub

Public Function SecToTime(TotalS As Long) As String '计算总秒数 以函数调用方式返回
On Error Resume Next '产生错误继续往下执行,代码调试期间最好先标记 暂时禁用
TmpStr(0) = "0" '预先设置TmpStr(0)数组变量为0 (天数为0)
If TotalS / 86400 >= 1 Then '一天24小时86400秒 先判断总秒数是否超一天24小时
TmpStr(0) = CStr(TotalS \ 3600 \ 24) '计算天数并用Cstr函数江天数转为字符赋值给变量 TmpStr(0)
TotalS = TotalS - Val(TmpStr(0)) * 3600 * 24 '总秒数扣掉天数 更新TotalS变量
End If
TmpStr(1) = CStr(TotalS \ 3600) '计算小时赋值给变量 TmpStr(1)
TmpStr(2) = CStr((TotalS \ 60) Mod 60) '计算分钟赋值给变量 TmpStr(2)
TmpStr(3) = CStr(TotalS Mod 60) '计算秒数赋值给变量 TmpStr(3)
SecToTime = TmpStr(0) & " 天 " & TmpStr(1) & " 时 " & TmpStr(2) & " 分 " & TmpStr(3) & " 秒 "
End Function
追问
如果一个时间变量s,从0开始,开始单位是秒,超过60秒自动计成“多少分钟多少秒”,超过60分自动计成“多少小时多少分钟多少秒”。怎样做?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式