將時間戳轉化為 yyyy-mm-dd hh:mm:ss
function backTime(value){
// value必須是一個毫秒級的時間戳哈;
// 如果出現的不是一個毫秒級的時間戳,將會出現轉化為 1970開始
let date = new Date(value);
// 獲取年份、月份和日期
let year = date.getFullYear();
// 月份從 0 開始,需要加 1
let month = date.getMonth() + 1;
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
// 格式化月份和日期為兩位數(不足兩位時補零)
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
hours = hours < 10 ? '0' + hours : hours;
minutes = minutes < 10 ? '0' + minutes : minutes;
seconds = seconds < 10 ? '0' + seconds : seconds;
// 返回格式化後的字串
return year + '-' + month + '-' + day +' ' + hours + ':' + minutes + ':' + seconds;
}
//再次提醒,轉化必須是一個毫秒級的時間戳哈
console.log(backTime(1688385600000))
// 輸出的值是: 2023-07-03 20:00:00
將 yyyy-mm-ss hh:mm:ss 轉化為時間戳,使用new date()
第一種
// 獲取2022年1月1日13時23分45秒的時間戳
// 需要注意引數第2位,表示的是月份,從0-11;0表示的是1月份
// 引數分別是 年份、月份[0-11之間的數字0表示1月)]、日、時、分、毫秒
let dateTimeStamp = new Date(2022, 0, 1,13,23,45).getTime();
console.log(dateTimeStamp) // 1641014625000
第2種 [推薦] 傳遞一個正確的日期字串,以/分割
let dateTimeStamp = new Date('2024/05/26 14:34:45').getTime();
console.log(dateTimeStamp) // 1716705285000
如果格式是 yyyy-mm-dd hh:mm:ss格式,可以使用replace()方法替換掉-
// 全域性替換掉-
let strDate = '2024-02-26 12:45:15'.replace(/-/g,'/')
let dateTimeStamp = new Date(strDate).getTime();
console.log(dateTimeStamp) // 1708922715000
為啥要全域性替換掉-呢?
// iso 不一定可以正確解析以 - 分割的日期格式,最好使用 /