最近爲客戶開發一個企業網站,後臺是基於米拓6的程序,其中要用到戳轉自定義日期格式的功能
(一)一般消息類通知信息在拿到時間戳時,會更貼近發佈該內容多久時間,比如:剛剛、十分鐘前、兩小時前、兩天前等
如果超過一定的時間後,則顯示發佈的日期。對於用戶來說,更加友好地顯示時間。
export function timeStr(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
},