2

我想将 ms 值格式化为两位数的“分钟:秒”值,两位数的意思是“00:00”,但我得到的是“0:0”。

这是一个例子:

在此处输入图像描述

我想显示“02:04”而不是“2:4”

这是我的代码:

Label_TrackPosition.Text = Format_Time(sender.value)

Private Function Format_Time(ByVal MilliSeconds As Int64) As String
    Dim Time As New TimeSpan(TimeSpan.TicksPerMillisecond * MilliSeconds)
    Return String.Format("{0}:{1}", Time.Minutes, Time.Seconds)
End Function

更新:

为了解决这个问题,我这样做了,但我知道存在一种简单且改进的方法来做到这一点:

Private Function Format_Time(ByVal MilliSeconds As Int64) As String
    Dim Time As New TimeSpan(TimeSpan.TicksPerMillisecond * MilliSeconds)

    Select Case Time.Minutes.ToString.Length
        Case 1
            Select Case Time.Seconds.ToString.Length
                Case 1
                    Return String.Format("0{0}:0{1}", Time.Minutes, Time.Seconds)
                Case 2
                    Return String.Format("0{0}:{1}", Time.Minutes, Time.Seconds)
            End Select
        Case 2
            Select Case Time.Seconds.ToString.Length
                Case 1
                    Return String.Format("{0}:0{1}", Time.Minutes, Time.Seconds)
                Case 2
                    Return String.Format("{0}:{1}", Time.Minutes, Time.Seconds)
            End Select
    End Select

    ' Return String.Format("{0}:{1}", Time.Minutes, Time.Seconds)
End Function
4

3 回答 3

2

如果您将 String.Format 更改为 String.Format("{0:mm\:ss}", Time) 它将为您提供 02:04 而不是 2:4 的结果。

Label_TrackPosition.Text = Format_Time(sender.value)

Private Function Format_Time(ByVal MilliSeconds As Int64) As String
    Dim Time As New TimeSpan(TimeSpan.TicksPerMillisecond * MilliSeconds)
    Return String.Format("{0:mm\:ss}", Time)
End Function
于 2013-07-03T14:33:24.340 回答
1

使用此格式字符串"{0:00}:{1:00}"

于 2013-07-03T14:20:51.873 回答
1

您需要查看http://msdn.microsoft.com/en-us/library/ee372286.aspxhttp://msdn.microsoft.com/en-us/library/ee372287.aspx以获取有关格式的帮助可用的。

这表明您几乎可以将其用作整个方法:

Return TimeSpan.FromMilliseconds(MilliSeconds).ToString("mm\:ss")

这是使用采用 a 的静态FromMilliseconds方法,double但您Int64将隐式转换为该方法。

有关该方法的详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.timespan.frommilliseconds.aspx(并从那里链接到其他类文档)。

于 2013-07-03T15:44:52.297 回答