单独封装js
```function timeago(dateTimeStamp) {
if (typeof dateTimeStamp == 'string') {
dateTimeStamp = new Date(Date.parse(dateTimeStamp.replace(/-/g, "/")));
}
// dateTimeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳。13位数的都是时间毫秒。
let minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示
let hour = minute * 60;
let day = hour * 24;
let week = day * 7;
let month = day * 30;
let now = new Date().getTime(); //获取当前时间毫秒
let diffValue = now - dateTimeStamp; //时间差
if (diffValue < 0) {
return;
}
let minC = diffValue / minute; //计算时间差的分,时,天,周,月
let hourC = diffValue / hour;
let dayC = diffValue / day;
let weekC = diffValue / week;
let monthC = diffValue / month;
let result = "";
if (monthC >= 1) {
result = "" + parseInt(monthC) + " months ago";
} else if (weekC >= 1) {
result = "" + parseInt(weekC) + " weeks ago";
} else if (dayC >= 1) {
result = "" + parseInt(dayC) + " days ago";
} else if (hourC >= 1) {
result = "" + parseInt(hourC) + " hours ago";
} else if (minC >= 1) {
result = "" + parseInt(minC) + " mins ago";
} else result = "just";
return result;
}
export default {
timeago
}
组件引用
```js
```import time from '@/utils/time'
export default {
methods: {
timeago(dateTime) {
return time.timeago(dateTime);
},
}
}
调用
<span>{{ timeago(item.created_at) }}</span>