(一)一般消息类通知信息在拿到时间戳时,会更贴近发布该内容多久时间,比如:刚刚、十分钟前、两小时前、两天前等
如果超过一定的时间后,则显示发布的日期。对于用户来说,更加友好地显示时间。
export function dateStr(date){
//获取js 时间戳
var time=new Date().getTime();
time=parseInt((time-date)/1000);
//存储转换值
var s;
if(time<60*10){ //十分钟内
return '刚刚';
}else if((time<60*60)&&(time>=60*10)){ //超过十分钟少于1小时
s = Math.floor(time/60);
return s+"分钟前";
}else if((time<60*60*24)&&(time>=60*60)){ //超过1小时少于24小时
s = Math.floor(time/60/60);
return s+"小时前";
}else if((time<60*60*24*3)&&(time>=60*60*24)){ //超过1天少于3天内
s = Math.floor(time/60/60/24);
return s+"天前";
}else{ //超过3天
var date= new Date(parseInt(date) * 1000);
return date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate();
}
}
(二)将时间戳转换为时间格式,比如: YYYY-MM-DD HH:mm:ss、YYYY-MM-DD YYYY/MM/DD HH:mm:ss等格式。
我们需要外部自定义传入时间格式
export function formatDate(date, fmt) {
if (date == undefined) {
return "";
}
return moment(date).format(fmt);
}
在使用的文件中引入该模块:
import { dateStr,formatDate } from "@/assets/js/change"
转换时间格式:
created() {
let time = dateStr(this.time)
this.time = time
let time1 = formatDate(this.time1, 'YYYY-MM-DD HH:mm:ss')
this.time1 = time1
let time2 = dateStr(this.time2)
this.time2 = time2
let time3 = formatDate(this.time3, 'YYYY-MM-DD HH:mm:ss')
this.time3 = time3
},
来源:https://blog.csdn.net/qq_36437172/article/details/85633159