获取时间差
10、11、13位时间戳都适用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="public/vue.min.js"></script>
</head>
<body>
<div id="app">
</div>
</body>
<script>
var vm = new Vue({
el: "#app",
data() {
return {
date: 16613913611,
list: [
{time:16613913611},
{time:16613912999},
{time:16613909121},
{time:16613009121},
],
}
},
created() {},
mounted() {
this.list.forEach(i => {
console.log('时间差:'+this.dateDiff_t(i.time, this.date))
console.log('列表时间:'+this.formatDate(i.time))
console.log('当前时间:'+this.formatDate(this.date))
});
},
methods: {
//格式化时间戳
formatDate(value) {
let date = new Date(value * 1000);
let y = date.getFullYear();
let MM = date.getMonth() + 1;
MM = MM < 10 ? ('0' + MM) : MM;
let d = date.getDate();
d = d < 10 ? ('0' + d) : d;
let h = date.getHours();
h = h < 10 ? ('0' + h) : h;
let m = date.getMinutes();
m = m < 10 ? ('0' + m) : m;
let s = date.getSeconds();
s = s < 10 ? ('0' + s) : s;
return y + '年' + MM + '月' + d + '日' + h + ':' + m + ':' + s;
},
//计算时间差
dateDiff_t(st, et) {
var time;
var stime = st;
var etime = et;
// 两个时间戳相差的秒数
var usedTime = (etime- stime)*1000;
// 计算相差的天数
var days = Math.floor(usedTime / (24 * 3600 * 1000));
// 计算出小时数
var hours = Math.floor(usedTime / (3600 * 1000));
// 计算相差分钟数
var minutes = Math.floor(usedTime / (60 * 1000));
// 时间差小于1分钟
if(days === 0 && hours === 0 && minutes === 0){
time = '刚刚'
}
// 时间差小于10分钟
else if(days === 0 && hours === 0 && minutes < 10){
time = minutes + '分钟前'
}
// 时间差大于10分钟
else {
time = this.formatDate(stime)
}
return time;
},
},
});
</script>
</html>
!!

浙公网安备 33010602011771号