之前在一个小程序项目中遇到了类似的问题,当时处理办法是按照一般逻辑写的,根本没想那么多。代码如下:
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}秒`
}
网友评论