getTime()方法
方法定義: getTime() 方法可返回距 1970 年 1 月 1 日之間的毫秒數。
通常我們計算時間差都是通過獲取兩個時間數據,然后分別使用 getTime() 方法返回與固定的1970 年 1 月 1 日的時間差,通過對返回毫秒數的差,換算成時間單位,得出兩個時間的時間差。
時間格式
第一種:"2019/08/28 04:56:38" // 這種格式不用進行處理
第二種:"2019-08-01 18:56:38" // 這種格式要進行處理
因為new Date()方法不能處理第二種數據,所以我們這里需要將第二種數據格式轉化為第一種數據的格式。
let time = "2019-08-01 18:56:38";
let dateTime = new Date(time.replace(/-/g, "/")); // replace方法將 - 轉為 /
let dateNow = new Date(); // 獲取當前時間
let timeDiff = dateNow.getTime() - dateTime.getTime(); // 時間差的毫秒數
// timeDiff = 時間戳差值
let days = Math.floor(timeDiff / (24 * 3600 * 1000)); // 計算出天數
let leavel1 = timeDiff % (24 * 3600 * 1000); // 計算天數后剩余的時間
let hours = Math.floor(leavel1 / (3600 * 1000)); // 計算天數后剩余的小時數
let leavel2 = timeDiff % (3600 * 1000); // 計算剩余小時后剩余的毫秒數
let minutes = Math.floor(leavel2 / (60 * 1000)); // 計算剩余的分鍾數
console.log(`${days}天${hours}時${minutes}分`)
