美文网首页
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