介紹
一個系統運行了多長時間,希望後臺提供系統開啓的時間以及現在的時間(提供現在的時間是爲了防止用戶手動更改設備的當前時間導致計算不可控),用戶界面上能真切的感受到時間的變化
場景一:系統已運行時長
- 效果圖:
場景二:距離未來某時間還有多久
- 效果圖:
關鍵函數
// target格式爲2019-12-31 12:00:31或2019-12-31
function handleTime (target) {
// 當前時間戳
const nowDate = new Date().getTime()
// 目標點時間戳
const targetDate = new Date(target).getTime()
let diff
// 滿足以上兩種場景
if (nowDate > targetDate) {
diff = nowDate - targetDate
} else {
diff = targetDate - nowDate
}
// padStart方法是爲了自動補零,即9秒的時候顯示09秒
const day = parseInt(diff / (1000 * 60 * 60 * 24)).toString().padStart(2, '0')
const hour = parseInt((diff / (1000 * 60 * 60)) % 24).toString().padStart(2, '0')
const minute = parseInt((diff / (1000 * 60)) % 60).toString().padStart(2, '0')
const second = parseInt((diff / 1000 % 60)).toString().padStart(2, '0')
return `${day}天${hour}時${minute}分${second}秒`
}
結束
記錄這個的目的是爲了防止以後用到又需要到處查,另一方面是方便其他需要的人,如果覺得好用請記得點贊哦