第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
暂无评论内容