JS比較兩個時間的時間差


/**
 * 比較兩個時間的時間差
 * @param startTime 開始時間
 * @param endTime 結束時間
 * @demo compareTime(new Date('2019-12-24 16:02').getTime(), new Date().getTime())
 */
function compareTime (startTime, endTime) {
    var retValue = {}

    var compareTime = endTime - startTime  // 時間差的毫秒數

    // 計算出相差天數
    var days = Math.floor(compareTime / (24 * 3600 * 1000))
    retValue.Days = days

    // 計算出相差年數
    var years = Math.floor(days / 365)
    retValue.Years = years

    // 計算出相差月數
    var months = Math.floor(days / 30)
    retValue.Months = months

    // 計算出小時數
    var leaveHours = compareTime % (24 * 3600 * 1000) // 計算天數后剩余的毫秒數
    var hours = Math.floor(leaveHours / (3600 * 1000))
    retValue.Hours = hours

    // 計算相差分鍾數
    var leaveMinutes = leaveHours % (3600 * 1000) // 計算小時數后剩余的毫秒數
    var minutes = Math.floor(leaveMinutes / (60 * 1000))
    retValue.Minutes = minutes

    // 計算相差秒數
    var leaveSeconds = leaveMinutes % (60 * 1000) // 計算分鍾數后剩余的毫秒數
    var seconds = Math.round(leaveSeconds / 1000)
    retValue.Seconds = seconds

    var resultSeconds = 0
    if (years >= 1) {
        resultSeconds = resultSeconds + years * 365 * 24 * 60 * 60
    }
    if (months >= 1) {
        resultSeconds = resultSeconds + months * 30 * 24 * 60 * 60
    }
    if (days >= 1) {
        resultSeconds = resultSeconds + days * 24 * 60 * 60
    }
    if (hours >= 1) {
        resultSeconds = resultSeconds + hours * 60 * 60
    }
    if (minutes >= 1) {
        resultSeconds = resultSeconds + minutes * 60
    }
    if (seconds >= 1) {
        resultSeconds = resultSeconds + seconds
    }
    retValue.resultSeconds = resultSeconds

    return retValue
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM