需求
显示视频播放时长的时候,需要显示类似:XX小时XX分XX秒,而我们有的变量是视频时长单位是秒数(毫秒数就不做考虑了,不用那么精确吧)
实现如下
我自己写的实现方法:比较简单,供参考:
function formatDuration(durationInSeconds) { if (durationInSeconds < 60) { // 少于1分钟的,直接显示多少秒 return durationInSeconds + '秒'; } if (durationInSeconds < 3600) { //少于1小时的,显示XX分XX秒 return Math.floor(durationInSeconds / 60) + '分' + (durationInSeconds % 60) + '秒'; } var hours = Math.floor(durationInSeconds / 3600); var minutes = Math.floor((durationInSeconds - hours * 3600) / 60); var seconds = duration % 60; return hours + '小时' + minutes + '分' + seconds + '秒'; }
实现的效果,当视频时长少于1分钟,直接显示XX秒;当时长少于1小时,显示XX分XX秒;超过1小时的,显示成:XX小时XX分XX秒
文章评论