大家好,我播放了一首显示时间的歌曲:
0:00/4:47
第一次是轨道当前时间。第二个是该歌曲播放的总音轨时间。
我这样分割:
Dim tmpTimes As Array = lblSongTime.Text.Split("/")
所以tmpTimes(0)给我0:00和tmpTimes(1)给我4:47。
现在我试着从tmpTimes(0)
中减去tmpTimes(1)Debug.Print(CDbl(tmpTimes(1).replace(":", "") - tmpTimes(0).replace(":", "")))
和我得到:447..446年……445年……等
我需要什么样的计算才能返回降序计数?
例子: 47…46…4:45…etc使用当前时间tmpTimes(0)?
您需要将文本MM:SS拆分为分钟和秒,然后将其转换为总秒(m * 60 + s),然后您可以对秒进行数学计算。然后,您需要将其转换回分钟和秒以显示。
您也可以使用Timespan类来完成此操作。
已解决:
Dim times As String() = lblSongTime.Text.Split("/"c)
Dim elapsedTime As TimeSpan = TimeSpan.ParseExact(times(0).Trim(), "m:ss", Nothing)
Dim totalTime As TimeSpan = TimeSpan.ParseExact(times(1).Trim(), "m:ss", Nothing)
Dim remainingTime As TimeSpan = totalTime - elapsedTime
Debug.WriteLine(remainingTime.ToString("m:ss"))