增加两个时间值正在引发不期望的持续时间 [英] Addition of two time values are poping up undesired duration

查看:98
本文介绍了增加两个时间值正在引发不期望的持续时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚写了一个代码,看到在 hh:mm:ss 格式中添加了两个持续时间,但没有得到我正在寻找的时间。 / p>

代码

  Option Explicit 

Dim v1:v1 =#20:20:10#
Dim v2:v2 =#20:20:10#

MsgBox(v1 + v2)

OUTPUT 作为 12/31/1899 4: 40:20 PM



你能指导我吗?



更新



代码

  Option Explicit 

Dim V1:v1 =#20:20:10#
Dim V2:v2 =#20:42:10#

MsgBox小时(V1)+小时(V2))& :&分钟(V1)+分钟(V2)& :&第二(V1)+第二(V2)

输出 c $ c> 40:62:20





更新的代码

  SumDate =00:00:00

IndexSearch = 0到ArrayListTaskDetails.Count - 1步骤4

dt1 = ArrayListTaskDetails(IndexSearch + 3 )
SumDate = TimeAdd(dt1,SumDate)

循环

函数TimeAdd(dt1,dt2)

If(IsDate(dt1 )和IsDate(dt2))= False然后
TimeAdd =00:00:00
退出函数
结束如果

TimeAdd =小时(dt1)+小时(dt2)& :&分钟(dt1)+分钟(dt2)& :&第二(dt1)+第二(dt2)
结束函数


解决方案

现在几分钟和几秒钟正常化:

  Sub SummingTimes()


Dim v1:v1 =#8:32:33 PM#
Dim v2:v2 =#8:32:33 PM#
Dim hours As Variant
Dim minutes As Variant
Dim seconds As Variant
Dim timetext As String


seconds = Second(v1)+ Second(v2)
minutes = Int(seconds / 60)
秒=秒 - 分钟* 60
分钟=分钟+分钟(v1)+分钟(v2)
小时= Int(分钟/ 60)
分钟=分钟 - 小时* 60
小时=小时+小时(v1)+小时(v2)
timetext =小时& :&分钟& :&秒
MsgBox timetext

End Sub

消息框显示 41:5:6 。如果你想获得 41:05:06 ,需要一些字符串操作。
Excel电子表格: http://www.bumpclub.ee /~jyri_r/Excel/Summing_hh-mm-ss.xls


I just wrote a code to see the addition of two time durations which are in hh:mm:ss format;but not getting the one I am looking for.

CODE

Option Explicit

Dim v1 : v1 = #20:20:10#
Dim v2 : v2 = #20:20:10#

MsgBox (v1 + v2)

OUTPUT Coming as 12/31/1899 4:40:20 PM

Could you guide me here?

Update

Code

Option Explicit

Dim V1 : v1 = #20:20:10#
Dim V2 : v2 = #20:42:10#

MsgBox (Hour(V1) + Hour(V2)) & ":" & Minute(V1) + Minute(V2) & ":" & Second(V1) + Second(V2)

Output Coming as 40:62:20

UPDATED CODE

SumDate = "00:00:00" 

For IndexSearch = 0 To ArrayListTaskDetails.Count - 1 Step 4

dt1 = ArrayListTaskDetails(IndexSearch + 3)         
SumDate = TimeAdd(dt1,SumDate)

Loop

Function TimeAdd(dt1,dt2)

If (IsDate(dt1) And IsDate(dt2)) = False Then
TimeAdd = "00:00:00"
Exit Function
End If

TimeAdd = Hour(dt1)+Hour(dt2) & ":" & Minute(dt1)+Minute(dt2) & ":" & Second(dt1)+Second(dt2)
End Function

解决方案

Now minutes and seconds are normalized:

Sub SummingTimes()


  Dim v1: v1 = #8:32:33 PM#
  Dim v2: v2 = #8:32:33 PM#
  Dim hours As Variant
  Dim minutes As Variant
  Dim seconds As Variant
  Dim timetext As String


     seconds = Second(v1) + Second(v2)
      minutes = Int(seconds / 60)
       seconds = seconds - minutes * 60
        minutes = minutes + Minute(v1) + Minute(v2)
       hours = Int(minutes / 60)
      minutes = minutes - hours * 60
     hours = hours + Hour(v1) + Hour(v2)
   timetext = hours & ":" & minutes & ":" & seconds
  MsgBox timetext

End Sub

Messagebox shows 41:5:6. If you want to get 41:05:06, some string operations are needed. Excel spreadsheet: http://www.bumpclub.ee/~jyri_r/Excel/Summing_hh-mm-ss.xls

这篇关于增加两个时间值正在引发不期望的持续时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆