js 日期時間格式轉換 時間戳轉換
阿新 • • 發佈:2018-12-10
1.時間戳轉換成日期時間格式 // 1395849600000 => 2014-03-27 00:00:00
1-最直接易讀的轉換
var oldTime = 1395849600000 ; // 2014-03-27 00:00:00 function formatDateTime(date) { var time = new Date(date); // 例項化時間戳 time.後面的是時間獲取轉換的對應方法 var hour = time.getHours(); var minute = time.getMinutes(); var second = time.getSeconds(); var year = time.getFullYear() var month = time.getMonth(); var date = time.getDate(); month = month + 1; // 月份要多加一個月(不知道就自行google) if( month < 10){ month = "0" + month}; // if判斷是少於兩位數就補0 if( date < 10){ date= "0" + date }; if( hour < 10){ hour= "0" + hour }; if( minute < 10){ minute= "0" + minute}; if( second < 10){ second= "0" + second}; return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" +second; } var formatTime = formatDateTime(oldTime); // 呼叫formatDateTime函式並賦值給formatTime console.log(formatTime)
但是,上面的方法看起來有點多,我想繼續改改吧。
let oldTime = 1395849600000 ; // 2014-03-27 00:00:00 function formatDateTime(date) { let t= new Date(date); // 例項化時間戳 time.後面的是時間獲取轉換的對應方法 let y = t.getFullYear(); let m = t.getMonth()+1; // 月份要多加一個月(不知道就自行google) let d = t.getDate(); let h = t.getHours(); let min = t.getMinutes(); let s = t.getSeconds(); // 返回給外面呼叫它的地方(需要的格式也在return後面拼裝) return y + "-" + (m<10?m="0"+m:m) +"-" + (d<10?d="0"+d:d) + " " + (h<10?h="0"+h:h) + ":" + (min<10?min="0"+min:min) + ":" + (s<10?s="0"+s:s); } let formatTime = formatDateTime(oldTime); // 呼叫formatDateTime函式並賦值給formatTime console.log(oldTime,formatTime)
這樣return後面就寫著很長了(雖然+號可以換行),看起來怪怪的,那就繼續改改吧。
let oldTime = 1395849600000 ; // 2014-03-27 00:00:00 function formatDateTime(date) { let t = new Date(date); // 例項化時間戳 time.後面的是時間獲取轉換的對應方法 let y = t.getFullYear(); let m = t.getMonth()+1<10?"0"+t.getMonth():t.getMonth(); let d = t.getDate()<10?"0"+t.getDate():t.getDate(); let h = t.getHours()<10?"0"+t.getHours():t.getHours(); let min = t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes(); let s = t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds(); return y+"-"+m+"-"+d+" "+h+":"+min+":"+s; // 返回給外面呼叫它的地方 } let formatTime = formatDateTime(oldTime); // 呼叫formatDateTime函式並賦值給formatTime console.log(oldTime,formatTime)
如果你的時間格式不一定要兩位數值的,可以這樣寫,簡單。
let oldTime = 1395849600000 ; // 2014-03-27 00:00:00
function formatDateTime(date) {
let t = new Date(date); // 例項化時間戳 time.後面的是時間獲取轉換的對應方法
return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds(); // 返回給外面呼叫它的地方
}
let formatTime = formatDateTime(oldTime);// 呼叫formatDateTime函式並賦值給formatTime
console.log(oldTime,formatTime)
你還有什麼更好的方法或者建議,歡迎留言