visualbasic(vb.net)中如何将毫秒转换为时分秒进行显示?

第1部分:应用场景

华仔最近正在研究引用vlc播放库libvlc,使用visualbasic进行播放器的开发,期间遇到一个问题,就是vlc所给的无论是长度还是时间,都是毫秒,这对于用户体验来说只知道毫秒肯定是不可以的,所以华仔通过一段visualbasic(vb.net)代码将这个毫秒进行转换,以“00:00:00”的格式呈现给用户,让用户对即时时间和视频总时间能够心中有数。

第2部分:解决方案

用visualbasic(vb.net)进行软件开发,确实是非常需要有耐心,因为国内资料少,所以要找的信息会比学别的开发语言要多,下面就是将毫秒转换为“00:00:00”格式时间的源代码:

    rem Time 为需要转换的时间
    Private Function TranTime(ByVal Time As Long) As String
        Try
            Dim h, m, s, h1, m1 As Long
            Dim hh, mm, ss As String
            h = (Time / 1000) / 3600
            h1 = (Time / 1000) Mod 3600
            If h1 > 60 Then
            rem 这里需要好好注意一下
                m = Fix(h1 / 60)
            Else
                m = 0
            End If
            m1 = h1 Mod 60
            s = m1
            If h > 9 Then
                hh = h.ToString
            Else
                hh = "0" + h.ToString
            End If
            If m > 9 Then
                mm = m.ToString
            Else
                mm = "0" + m.ToString
            End If
            If s > 9 Then
                ss = s.ToString
            Else
                ss = "0" + s.ToString
            End If
            Dim LastTime As String = hh + ":" + mm + ":" + ss
            Return LastTime
        Catch ex As Exception
            Throw ex
        End Try
    End Function

通过上面的visualbasic(vb.net)代码,我们就能实现毫秒时间的转换了,要注意的是,我上面备注的地方:m = Fix(h1 / 60),这是向下取整的函数,大家也知道,visualbasic不同于C#,属于没那么严谨的语言,所以有不少代码结果都是默认了,而不会报错提示,如果这里不用Fix函数进行向下取整的话,比如100秒,就会被换算为:00:02:40,正确的应该是00:01:40,用Fix函数就能解决这个问题了!

第3部分:结论

这种毫秒的转换,相信在很多地方都有可能用到,最多也就是输出字符串的格式会个性化,但总体是大同小异的,所以这个可以收下,当作日常使用的源代码,visualbasic(vb.net)的学习需要耐心和日积月累,后面最好有自己的类库和控件。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容