正常时间格式:2020-10-10 08:56:28
dateTime(now) {
var date = new Date(now * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
return Y + M + D + h + m + s;
}
//在需要用到的时候调用,传参是需要转换的时间戳
秒转换成时间
formatSeconds(value) {
var theTime = parseInt(value);// 秒
var middle= 0;// 分
var hour= 0;// 小时
if(theTime > 60) {
middle= parseInt(theTime/60);
theTime = parseInt(theTime%60);
if(middle> 60) {
hour= parseInt(middle/60);
middle= parseInt(middle%60);
}
}
var result = ""+parseInt(theTime)+"秒";
if(middle > 0) {
result = ""+parseInt(middle)+"分"+result;
}
if(hour> 0) {
result = ""+parseInt(hour)+"小时"+result;
}
return result;
}
秒数转换倒计时:00:08:25
// 时间转换
formatBit(val) {
val = +val;
return val > 9 ? val : "0" + val;
}, // 秒转时分秒,求模很重要,数字的下舍入
formatSeconds(time) {
let min = Math.floor(time % 3600);
let val =
this.formatBit(Math.floor(time / 3600)) +
":" +
this.formatBit(Math.floor(min / 60)) +
":" +
this.formatBit(time % 60);
return val;
}, // 定时器
minReturn(time_limit) {
//参数为秒*60,参数为分钟不需要
let time = time_limit * 60;
let t = setInterval(() => {
time--;
//定义全局变量 timeDown 作为在页面上展示
//下面一行业可以更改为 return this.formatSeconds(time) 没尝试过
this.timeDown = this.formatSeconds(time);
if (time <= 0) {
clearInterval(t);
}
}, 1000);
},
时间戳转换为刚刚、XX分钟前、XX小时前、XX天前等等等
放在export default{}的外面然后在组件中通过过滤方式来进行调用
export function timeago(dateTimeStamp) {
// dateTimeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳。13位数的都是时间毫秒。
let minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示
let hour = minute * 60;
let day = hour * 24;
let week = day * 7;
//var halfamonth = day * 15;
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) + "月前";
}
else if (weekC >= 1) {
result = "" + parseInt(weekC) + "周前";
}
else if (dayC >= 1) {
result = "" + parseInt(dayC) + "天前";
}
else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
}
else if (minC >= 1) {
result = "" + parseInt(minC) + "分钟前";
} else
result = "刚刚";
return result;
}
放在export default{}的里面
filters:{
//调用 Timer 方法
Timer: function(str) {
//时间戳为10位数的需要*1000
let times = Number(str) * 1000;
return timeago(times);
}
},
在页面上使用
<span>{{ item.create_time | Timer(item.create_time) }}</span>
网友评论