I want to format a ms value to a "minutes:seconds" value of two digits, by two digits I mean "00:00" but what I get is "0:0".
This is an example:
I want to show "02:04" instead "2:4"
This is my code:
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
UPDATE:
To solve this problem I did this, but I know exists a easy and improved way to do this:
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