新建js文件
function intervalTime(startTime, endTime, type = 'text') {
var cha = endTime - startTime;
var day = Math.floor(cha / (24 * 3600 * 1000));
var hours = Math.floor(cha % (24 * 3600 * 1000) / (3600 * 1000));
var minutes = Math.floor(cha % (24 * 3600 * 1000) % (3600 * 1000) / (60 * 1000));
var seconds = Math.floor(cha % (24 * 3600 * 1000) % (3600 * 1000) % (60 * 1000) / 1000);
var s1 = "";
// 如果计算大于等于1再展示,否则只展示天和分钟
if (type == 'text') {
if (day >= 1) {
s1 += day + "天"
}
if (hours >= 1) {
s1 += hours + "小时";
}
if (minutes > 0) {
s1 += minutes + "分钟";
}
if (seconds > 0) {
s1 += seconds + "秒";
}
return s1;
} else {
let obj = {
day, hours, minutes, seconds
}
return obj
}
}
// 记得抛出
export {
intervalTime,
}
然后在 .vue 页面引入
import { intervalTime } from "../../components/time";
// 在页面调用这个方法的时候需要传两个参数
// 第一个是开始时间,第二个为结束时间
// 注意:两个参数都必须为时间戳,所以在传参数的时候必须要先转成时间戳
// 开始时间
let s1 ='2023-01-07'
// 转换时间戳
let oldDay = new Date(s1).getTime();
// 结束时间 获取当前时间戳
let now = new Date().getTime();
this.time = intervalTime(oldDay, now);