之前在一個小程序項目中遇到了類似的問題,當時處理辦法是按照一般邏輯寫的,根本沒想那么多。代碼如下:
formatTime(time) {
var days = parseInt(time / (1000 * 60 * 60 * 24));
var hours = parseInt((time % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = parseInt((time % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((time % (1000 * 60)) / 1000);
this.setData({
days,
hours,
minutes,
seconds
})
}
后來在公司另一個項目中又遇到了這個問題,我想了想,要是按照一般邏輯,感覺會寫很長一串加減乘除,會不會有簡單點的方法,于是下面這種方法就誕生了。
formatTime(msTime) {
let time = msTime /1000;
let day = Math.floor(time /60 /60 /24);
let hour = Math.floor(time /60 /60) %24;
let minute = Math.floor(time /60) %60;
let second = Math.floor(time) %60;
return `${day}天${hour}時${minute}分${second}秒`
}