时间自定义格式
直接上代码
/**
* 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
网友评论