/**
* 比較兩個時間的時間差
* @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
}