嘿,所有我都有一首歌在播放时间如下:
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 ......等等
为了返回降序计数,我需要什么样的计算?
示例: 4:47 ... 4:46 ..... 4:45 ......等使用当前时间 tmpTimes(0)?< / p>
答案 0 :(得分:2)
您需要将文本MM:SS拆分为分钟和秒,然后将其转换为总秒数(m * 60 + s)。然后你可以在几秒钟内完成数学运算。然后你需要将它转换回Minutes和Seconds进行显示。
您也可以使用Timespan类来执行此操作。
答案 1 :(得分:0)
解决:
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"))