如何将纪元日期转换为有意义的 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+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告