犯罪嫌疑人X
2023-06-15 09:50:07
我正在處理 pdf 表單并嘗試從 2 個(gè)字段計(jì)算小時(shí)數(shù)。只要時(shí)間不超過午夜(24 小時(shí)格式),我就會(huì)得到正確的響應(yīng)。一旦過了午夜,我就會(huì)得到一個(gè)負(fù)數(shù)。如果返回值為負(fù)數(shù),有沒有辦法將 24 小時(shí)加到返回值上?這是該字段的計(jì)算結(jié)果? ? var startTime = this.getField("SHIFT STARTRow1").value;? ? var endTime = this.getField("SHIFT ENDRow1").value;? ? this.getField("TOTAL HOURSRow1").value = timeDiff(startTime, endTime);? ? if ((event.value == "") || (event.value == Infinity) || isNaN(event.value)) {event.value = "";}?這是 javascript 的形式 - timeDifffunction timeDiff(startTime, endTime) {? ? var startArr = startTime.split(":");? ? var endArr = endTime.split(":");? ? var startDate = new Date(0, 0, 0, startArr[0], startArr[1], 0);? ? var endDate = new Date(0, 0, 0, endArr[0], endArr[1], 0);? ? var diff = endDate.getTime() - startDate.getTime();? ? var hours = diff / 1000 / 60 / 60;? ? return hours.toFixed(2)? ? }? ? console.log(timeDiff('6:24', '8:13')) // 1.82所以使用這個(gè)腳本,如果我輸入 12:30 作為開始時(shí)間和 01:45 作為結(jié)束時(shí)間,我得到 -10.75 的回報(bào)。但是,我需要 13.25 的回報(bào)。我試圖找到另一個(gè)幫助我解決這個(gè)問題的線程,但也許我忽略了它。有什么幫助嗎?
2 回答

幕布斯7119047
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果結(jié)束時(shí)間小于開始時(shí)間,則加 24
function timeDiff(startTime, endTime) {
var startArr = startTime.split(":").map(Number);
var endArr = endTime.split(":").map(Number);
if (startArr[0] > endArr[0]) {
endArr[0] += 24;
}
var hours = endArr[0] + endArr[1]/60 - startArr[0] - startArr[1]/60;
return hours.toFixed(2)
}
console.log(timeDiff('23:10', '1:00'))

qq_笑_17
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果返回值為負(fù)數(shù),有沒有辦法將 24 小時(shí)加到返回值上?
嗯,是 -
if(hours < 0) hours += 24;
添加回答
舉報(bào)
0/150
提交
取消