我正在尝试将秒转换为MM:SS,由于某种原因,它无法正确显示。

jQuery('#player-recorded-call').get(0).currentTime;用于获取<audio>当前时间位置。

例如

audioCurrentTime设置为326.459368,应为05:26(MM:SS),但由于某种原因,它已计算为05:84(var dur

    var audioCurrentTime = jQuery('#player-recorded-call').get(0).currentTime;

    var minutes = "0" + Math.floor(audioCurrentTime / 60);
    var seconds = "0" + (audioCurrentTime - minutes * 60);
    var dur = minutes.substr(-2) + ":" + seconds.substr(-2);

    $(".criteria-duration").html(dur);


我从https://stackoverflow.com/a/26206645/791022得到了这个数学示例

最佳答案

由于audioCurrentTime不是整数,因此(audioCurrentTime - minutes * 60)也不会是整数,因此您最终得到的字符串如"0326.4593684"。取其中的最后两个字符,您得到05:84

您可以先截断audioCurrentTime

var seconds = "0" + (Math.floor(audioCurrentTime) - minutes * 60);


%(模)运算符也很好:

var seconds = "0" + Math.floor(audioCurrentTime % 60);

07-24 17:22