如果你遇到了 "Invalid Date" 的錯誤,這通常意味著傳遞給?Date
?構造函數的字符串或數值無法被解析為一個有效的日期。對于時間戳來說,確保它是一個有效的數字(表示自1970年1月1日00:00:00 UTC以來的毫秒數)。
以下是一個確保時間戳有效,并將其轉換為?Date
?對象的示例
let timestamp = "1624201234567"; // 假設這是您的時間戳字符串 // 首先將時間戳字符串轉換為數字
let timestampNumber = Number(timestamp); // 檢查轉換后的時間戳是否為NaN(不是一個數字)
if (!isNaN(timestampNumber)) { let dateObj = new Date(timestampNumber); // 格式化日期并打印 let year = dateObj.getFullYear(); let month = String(dateObj.getMonth() + 1).padStart(2, '0'); let day = String(dateObj.getDate()).padStart(2, '0'); let hours = String(dateObj.getHours()).padStart(2, '0'); let minutes = String(dateObj.getMinutes()).padStart(2, '0'); let seconds = String(dateObj.getSeconds()).padStart(2, '0'); let formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; console.log(formattedDate);
} else { console.error("Invalid timestamp:", timestamp);
}
在這段代碼中,我們首先嘗試將時間戳字符串轉換為數字。如果轉換成功且結果不是一個?NaN
?值,那么我們就創建一個新的?Date
?對象,并格式化它。如果轉換失敗,我們會打印出一個錯誤消息。
確保您的時間戳字符串只包含數字,并且是一個有效的、表示自1970年1月1日以來的毫秒數的數字。如果時間戳是從其他地方獲取的,可能需要檢查它的來源以確保其有效性。
如果您的時間戳確實是一個無效值,那么您需要找到正確的時間戳來源,或者使用其他日期字符串格式與?Date
?構造函數或?Date.parse()
?方法一起使用。