JavaScript 時間的操作
1. 標準日期格式 轉 時間戳
第一步,設置一個標準日期,獲取這個日期格式的時間戳
let timeStr = "2020-08-10 12:34:45"; let newTime = timeStr.replace(/-/g,"/"); //需要轉化成這樣的時間格式 2020/08/10 12:34:35 let createTime = new Date(newTime).getTime(); // 最后結果,毫秒下的時間,
第二步,時間戳轉化標準日期格式
function timetrans(date){ var date = new Date(date);//如果date為13位不需要乘1000, var date = new Date(date*1000) ,因為getTime是精確到毫秒 var Y = date.getFullYear() + '-'; var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' '; var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; var m = (date.getMinutes() <10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; var s = (date.getSeconds() <10 ? '0' + date.getSeconds() : date.getSeconds()); return Y+M+D+h+m+s;
}
// 2020-08-10 00:00:00
2. 根據時間戳差值判斷,幾分鐘前,幾個小時前 ,正常日期格式
let createTime = new Date("2020-08-10 21:10:00").getTime(); console.log("獲取指定時間戳= "+createTime);
// 注意,時間戳要數字類型 ,不能NaN let nowTime = new Date().getTime(); console.log("獲取當前時間戳= "+nowTime); let temp = nowTime-createTime; console.log("時間的差值= "+temp); //毫秒,轉化成秒,轉化成分鐘,時間 let result = temp/1000/3600; console.log('結果'+result); if(result<1){ //多少分鐘前 console.log(parseInt(result*60)+'分鐘前'); }else if(result>=1&&result<=24){ console.log(parseInt(result)+"小時前"); }else { //具體時間 }
3. 通過時間,給對象排序
//將新數組里面的元素,通過時間進行排序
function compare(p){
return function(m,n){
let a = m[p];
let b = n[p];
let newTimeA = a.replace(/-/g,"/");
let newTimeB = b.replace(/-/g,"/");
let date1 = new Date(newTimeA);
let date2 = new Date(newTimeB);
return date2-date1;
}
}
MessageArr.sort(compare("time"));
//將數據設置回去(react native 操作)
this.setState({
interActiveMessage: MessageArr
});

浙公網安備 33010602011771號