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分自动讲成“小时” 展开
结束时间及格式这样的:2014-02-14_19-08-15。
怎样用vb计算出时长?
还有个问题:时间开始是秒,超过60秒自动计成“分钟”,分超过60分自动讲成“小时” 展开
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
'来自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分自动计成“多少小时多少分钟多少秒”。怎样做?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询