所以我正在尝试将我的一些项目从excel vba
转换为vb
。
但是,在转换日期和时间戳方面我遇到了困难。
所以:我有几秒钟的数字,即:3878,我想在vb
中显示"hh:mm:ss"
。在VBA
我会使用函数.Format(time,"HH:MM:SS")
,但这似乎不起作用。
对此有任何帮助表示赞赏。
感谢 菲利普
答案 0 :(得分:1)
你可以尝试这样的事情:
intTotalSecs = 3878
MsgBox intTotalSecs & "(s) ===> " & ConvertTime(intTotalSecs),vbinformation,"output time format as hh:mm:ss"
'************************************************************
Function ConvertTime(intTotalSecs)
Dim intHours,intMinutes,intSeconds,Time
intHours = intTotalSecs \ 3600
intMinutes = (intTotalSecs Mod 3600) \ 60
intSeconds = intTotalSecs Mod 60
If intHours = 0 Then intHours = "0"&intHours
If intMinutes = 0 Then intMinutes = "0"&intMinutes
If intSeconds = 0 Then intSeconds = "0"&intSeconds
ConvertTime = LPad(intHours) & " h : " & LPad(intMinutes) & " m : " & LPad(intSeconds) & " s"
End Function
'************************************************************
Function LPad(v)
LPad = Right("00" & v, 2)
End Function
'************************************************************