美文网首页
js自定义时间格式

js自定义时间格式

作者: 追马的时间种草 | 来源:发表于2020-04-17 15:40 被阅读0次

时间自定义格式

上一篇:

直接上代码

/**
 * Date原型封装:timestampFormate
 *      自定义时间格式
 *      装换格式:
 *          1minute:刚刚
 *          1hour内:n分钟前
 *          当天:xx:xx
 *          昨天:昨天
 *          昨天之前:xxxx年xx月xx日
 * 使用方法:new Date().timestampFormate(xxxx-xx-xx xx:xx:xx) 
 *  */
Date.prototype.timestampFormate=function(in_timetamp){
    let timestamp=Date.parse(in_timetamp)/1000 //将传输时间转化为时间戳
    function add_zero(num){//不足十位,补零
        return String(num).length==1?('0'+num):num;
    }
    let currentTimestamp=parseInt(new Date().getTime()/1000);//获取当前时间戳
    let timestampDiff=currentTimestamp-timestamp;//传入时间戳与当前时间戳秒差
    let curDate=new Date(currentTimestamp*1000);//当前时间日期对象
    let paramDate=new Date(Date.parse(in_timetamp));//传入时间日期对象
    let Y=paramDate.getFullYear(),M=param.getMonth()+1,D=param.getDate();//获取传入时间年月日
    let H=param.getHours(),I=param.getMinutes(),S=param.getSeconds();//获取传入时间时分秒
    if(timestampDiff<60){
        return '刚刚'
    }else if(timestampDiff<3600){
        return Math.floor(timestampDiss/60)+'分钟前'
    }else if(curDate.getFullYear()===Y&& curDate.getMonth()+1 == M && curDate.getDate() == D){
        return add_zero(M)+':'+add_zero(I);
    }else{
        let newDate=new Date((currentTimestamp-86400)*1000);//当前时间戳减一天转换成日起对象
        if(newDate.getFullYear()===Y&&newDate.getMonth()+1==M&&newDate.getDate()==D){
            return '昨天'
        }else if(curDate.getFullYear()==Y){
            return add_zero(M)+'/'+add_zero(D)
        }else{
            return Y+'/'+add_zero(M)+'/'+add_zero(D)
        }
    }
}

console.log(new Date().timestampFormate('2010-04-17 12:12:12'));//2010/04/17

相关文章

网友评论

      本文标题:js自定义时间格式

      本文链接:https://www.haomeiwen.com/subject/hlryvhtx.html