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

开始时间及格式是这样的:2014-02-14_18-08-14,
结束时间及格式这样的:2014-02-14_19-08-15。
怎样用vb计算出时长?
还有个问题:时间开始是秒,超过60秒自动计成“分钟”,分超过60分自动讲成“小时”

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分自动计成“多少小时多少分钟多少秒”。怎样做?

温馨提示:内容为网友见解,仅供参考
无其他回答

vb怎样根据两个时间计算出时长?
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) & " 时 "...

VB中怎么算两个时间内差的小时数
方法一:(可以返回不足一小时的小数部分)hourtime= abs(endtime-begintime)*24 方法二:(也就是你的,但只能返回整数,小数部分被舍去了)hourtime = DateDiff("h", BeginTime, EndTime)

要用VB,自己输入两个时间,然后算这两个时间的差(小时)。这个应该怎么操 ...
text1和text2,程序运行时输入两个日期,按 年-月-日 时:分:秒 的格式来输入,然后点击command1来计算 Private Sub Command1_Click()MsgBox (CDate(Text1.Text) - CDate(Text2.Text)) * 24 End Sub 先把 text转换成date,再计算,结果是以天来计算的,*24,转成小时。===补充 字符串转...

vb DTPicker两天时间差
最简单的方法是直接把DTPicker2减去DTPicker1,这样得出的是两者相差的天数,比如:DTPicker2.Value - DTPicker1.Value = 4.2586342592622 把小数部分再乘以24就可以得出小时数,依此可逐步算出分钟、秒 标准的方法是用DateDiff函数:DateDiff("h", DTPicker2.Value, DTPicker1.Value)这是算出两个日...

如何在VB中计算两个日期间的天数
可以参考下面的代码:Private Sub DTPicker1_Change()Text1.Text = DateDiff("d", DTPicker1, DTPicker2)End Sub Private Sub DTPicker2_Change()Text1.Text = DateDiff("d", DTPicker1, DTPicker2)End Sub

怎样在VB上求两个时间相差的分钟数?
10:30---21:00怎么会是570分钟呢?630分钟好不好。用datediff函数计算时间差,例如:datediff("n", "10:30", "21:00"),结果:630分钟 最好用长时间,考虑隔天,不然会有计算混乱的。time是只显示“时”和“分”的。

如何使用批处理计算两个时间点的时间差?
获取里面MyEvent这个事件的反馈值Imports SystemImports System.ReflectionImports System.SecurityImports Microsoft.VisualBasic' Compile this sample using the following command line:' vbc type_getevent.vb \/r:"System.Windows.Forms.dll" \/r:"System.dll"Class MyEventExample Public Shared Sub Mai...

怎样在VB上求隔天的两个日期时间对比
使用VB提供的时间函数 DateDiff 函数,可以返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。语法 DateDiff(interval, date1, date2)其中:interval是一个字符串表达式,下面列举一些它的常用值以及含义:yyyy -- 年 q -- 季 m -- 月 d -- 天 h -- 小时 n -- 分钟 s -- 秒...

VB时间计算总小时(急)
Dim Xs As Integer Dim Fen As Integer Dim FF() As StringFF = Split("20:40", ":")Xs = Xs + Val(FF(0)) '小时 Fen = Fen + Val(FF(1)) '分 FF = Split("12:43", ":")Xs = Xs + Val(FF(0))Fen = Fen + Val(FF(1)) '分转成小时 Xs = Xs + (Fen \\...

vb 中如何计算两个时间的中间值
计算中要用到的两个日期。 Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。 firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。例如:计算2005-05-01 到 2006-02-03 之间的天数 1 MsgBox "从2005-05...

相似回答