时间戳转自定义日期格式和刚刚、十分钟前等友好日期格式

(一)一般消息类通知信息在拿到时间戳时,会更贴近发布该内容多久时间,比如:刚刚、十分钟前、两小时前、两天前等

如果超过一定的时间后,则显示发布的日期。对于用户来说,更加友好地显示时间。


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
posted @ 2019-01-06 16:21  栖息地  阅读(542)  评论(0编辑  收藏  举报