亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在javascript中計算時間時得到一個負數

在javascript中計算時間時得到一個負數

犯罪嫌疑人X 2023-06-15 09:50:07
我正在處理 pdf 表單并嘗試從 2 個字段計算小時數。只要時間不超過午夜(24 小時格式),我就會得到正確的響應。一旦過了午夜,我就會得到一個負數。如果返回值為負數,有沒有辦法將 24 小時加到返回值上?這是該字段的計算結果? ? 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所以使用這個腳本,如果我輸入 12:30 作為開始時間和 01:45 作為結束時間,我得到 -10.75 的回報。但是,我需要 13.25 的回報。我試圖找到另一個幫助我解決這個問題的線程,但也許我忽略了它。有什么幫助嗎?
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

如果結束時間小于開始時間,則加 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'))


查看完整回答
反對 回復 2023-06-15
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

如果返回值為負數,有沒有辦法將 24 小時加到返回值上?

嗯,是 -

if(hours < 0) hours += 24;


查看完整回答
反對 回復 2023-06-15
  • 2 回答
  • 0 關注
  • 231 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號