如何將紀元日期轉換為有意義的 JavaScript 日期?


在本教程中,我們將學習如何將紀元日期轉換為有意義的 JavaScript 日期。紀元日期是以毫秒錶示的日期,它是自1970年1月1日(UNIX紀元開始)以來的總毫秒數。

使用者可以使用下面解釋的各種方法將總毫秒數轉換為有意義的日期字串。

使用新的 Date() 物件

在這種方法中,我們將建立Date類的物件。Date()類的建構函式接受自紀元開始以來的總毫秒數,並將其轉換為有意義的 JavaScript 日期。

語法

使用者可以按照以下語法,透過傳遞總毫秒數作為引數來建立 Date 類的新的物件。

let milliseconds = 2302345654324; // epoch date
let date = new Date(milliseconds);

示例

在下面的示例中,我們建立了一個變數來儲存總毫秒數,並將其作為Date()建構函式的引數傳遞。日期物件返回日期字串;使用者可以在輸出中看到。

<html> <head> </head> <body> <h2>Converting epoch date to meaningful JavaScript date.</h2> <h4>Convert milliseconds since epoch to JavaScript Date using the <i>new Date()</i> object.</h4> <p id = "output1"></p> <script> let output1 = document.getElementById("output1"); let milliseconds = 2302345654324; let date = new Date(milliseconds); output1.innerHTML += "date for total " + milliseconds + " milliseconds is : " + date + " <br/> "; date = new Date(902976543332); output1.innerHTML += "date for total 09876543332" + " milliseconds is : " + date + " <br/> "; </script> </body> </html>

使用 Date 類的各種方法

在這種方法中,我們將建立日期類的物件,並將自紀元以來的總毫秒數作為引數傳遞。之後,我們將分別從日期物件中獲取年份、月份、日期等,並根據我們的需要格式化字串。

使用者可以使用getFullYear()方法獲取年份。getMonth()返回 0 到 11 之間的月份數。因此,我們需要將返回值加 1 以獲得正確的月份值。

有了年份和月份,使用者可以使用不同的方法獲取建立日期所需的所有必要資訊,對於所有方法,使用者都可以按照以下語法操作。

語法

let milliseconds = 1348755654324;
let myDate = new Date( milliseconds );

// using various methods of Date class to get year, date, month, hours, minutes, and seconds.

let dateStr = myDate.getFullYear() + "/" + (myDate.getMonth() + 1) + "/" + myDate.getDate() + " " + myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds()

示例

在下面的示例中,我們使用了語法中給出的所有方法來獲取日期的每個單獨部分並格式化日期字串。我們建立了日期類的物件,並透過引用日期物件呼叫了上述所有方法。

<html> <head> </head> <body> <h2>Converting epoch date to meaningful JavaScript date.</h2> <h4>Convert milliseconds since epoch to JavaScript Date using the <i>various methods Date class.</i></h4> <p id = "output1"></p> <script> let output1 = document.getElementById("output1"); let milliseconds = 1348755654324; let myDate = new Date(milliseconds); let dateStr = myDate.getFullYear() + "/" + (myDate.getMonth() + 1) + "/" + myDate.getDate() + " " + myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds() output1.innerHTML += "date string for " + milliseconds + " milliseconds is : " + dateStr + " <br/> "; </script> </body> </html>

我們學習了兩種將紀元日期轉換為有意義日期的不同方法。但是,使用者也可以使用 Moment.js 庫,它是操作日期的最佳庫。此外,使用者可以將年份、月份、日期等作為引數傳遞給 Date() 物件,它將返回日期字串。

更新於:2022年8月17日

17K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告