项目中后端传过来的值是以秒为单位,但是渲染是需要将格式转为
1.超过一天则以天时分秒显示,不超过一天则以时分秒显示
2.超过一小时则以时分秒显示,不超过一天则以分秒显示
3.超过一分钟则以分秒显示,不超过一天则以秒显示
于是做了以下处理
一.定义一个getDuration()方法
methods: {
getDuration(second) {
var duration
var days = Math.floor(second / 86400);
var hours = Math.floor((second % 86400) / 3600);
var minutes = Math.floor(((second % 86400) % 3600) / 60);
var seconds = Math.floor(((second % 86400) % 3600) % 60);
if(days>0) duration = days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
else if(hours>0) duration = hours + "小时" + minutes + "分" + seconds + "秒";
else if(minutes>0) duration = minutes + "分" + seconds + "秒";
else if(seconds>0) duration = seconds + "秒";
return duration;
},
}
二.使用
<span v-text="getDuration(second)"></span>
效果为: