无法将秒转换为HH:MM:SS

Unable to convert seconds to HH:MM:SS

本文关键字:HH MM SS 转换      更新时间:2023-09-26

在尝试将秒转换为HH:MM:SS秒格式时,得到了不正确的结果。例如,如果将seconds的值设为289,则分钟显示为0。这个的原因是什么

var seconds = this.currentTime;
var hours = Math.floor(seconds/3600); // Get whole hours
seconds -= hours*3600;
var minutes = Math.floor(seconds/3600); // Get remaining minutes
console.log("minutes : " + minutes);
seconds -= minutes*60;
var timeNow = hours + ":" + (minutes<10 ? '0'+minutes : minutes) + ":" + (seconds<10 ? '0'+seconds : seconds);

要计算分钟,应该将秒除以60,而不是3600(一分钟中毕竟有60秒):

var minutes = Math.floor(seconds/60); // Get remaining minutes

您也可以在JavaScript中使用Date对象来完成大部分任务:

var date = new Date(0, 0, 0, 0, 0, 289, 0);
var minutes = date.getMinutes();
// etc.
var timeInSec = this.currentTime;
var hours = Math.floor(timeInSec / 3600) % 24; // Get whole hours
var minutes = Math.floor(timeInSec / 60) % 60; // Get remaining minutes
var seconds = timeInSec % 60; // Get remaining seconds
var timeNow = (hours < 10 ? "0" + hours : hours) + "-" + (minutes < 10 ? "0" + minutes : minutes) + "-" + (seconds  < 10 ? "0" + seconds : seconds);