Я нашел следующий код, который работает хорошо для калькулятора табеля рабочего времени я используюразница между временами в JavaScript
function convertSecondsToHHMMSS(intSecondsToConvert) {
var hours = convertHours(intSecondsToConvert);
var minutes = getRemainingMinutes(intSecondsToConvert);
minutes = (minutes == 60) ? "00" : minutes;
var seconds = getRemainingSeconds(intSecondsToConvert);
return hours+" hrs "+minutes+" mins";
}
function convertHours(intSeconds) {
var minutes = convertMinutes(intSeconds);
var hours = Math.floor(minutes/60);
return hours;
}
function convertMinutes(intSeconds) {
return Math.floor(intSeconds/60);
}
function getRemainingSeconds(intTotalSeconds) {
return (intTotalSeconds%60);
}
function getRemainingMinutes(intSeconds) {
var intTotalMinutes = convertMinutes(intSeconds);
return (intTotalMinutes%60);
}
function HMStoSec1(T) {
var A = T.split(/\D+/) ; return (A[0]*60 + +A[1])*60 + +A[2]
}
var time1 = HMStoSec1("10:00:00");
var time2 = HMStoSec1("12:05:00");
var diff = time2 - time1;
document.write(convertSecondsToHHMMSS(diff));
Он отлично работает, когда time1 больше time2, если time1 меньше TIME2 дополнительных час вычитается, например.
var time1 = HMStoSec1("09:00:00");
var time2 = HMStoSec1("08:55:00");
var diff = time2 - time1;
document.write(convertSecondsToHHMMSS(diff)); // writes "1 hr 5 mins" instead of "0 hr 5 mins"
Я думаю, что это как-то связано с Math.floor в функции convertHours.
Я пытаюсь построить что-то, что может занять только часы и минуты, и вычесть/добавить время, а не фактически просто количество часов и минут.
Должен быть более простой способ, который, к сожалению, ускользает от меня, любая помощь будет очень признательна.
Большое вам спасибо, сейчас просто нужно разработать, как сделать кладбище смены :( – benpalmer