如何在 JavaScript 中獲取時間戳?


在本教程中,我們將學習如何在 JavaScript 中獲取時間戳。軟體開發人員或應用程式開發人員幾乎總是需要處理日期和時間。在許多情況下,他們需要操作日期和時間戳。例如,在使用者儀表板上顯示時間,或將操作時間儲存到資料庫中。

現在,讓我們瞭解一下什麼是時間戳?時間戳是從 1970 年 1 月 1 日(UNIX 紀元開始的時間)開始算起的毫秒總數。使用時間戳,我們可以提取日期、星期、年份、月份、小時、分鐘、秒、毫秒等。

因此,現在使用者可以理解為什麼時間戳很重要。與其儲存整個日期和時間的字串,不如儲存時間戳,並在需要時提取完美的日期和時間。這樣可以節省資料庫的空間。

在這裡,我們有不同的方法可以使用原生 JavaScript 的內建庫方法和 JavaScript 的 Moment JS 庫來獲取時間戳。

使用 Date.now() 或 getTime() 方法

在原生 JavaScript 中,我們有一個內建的 Date 類來獲取日期時間。使用者可以直接使用 Date 類的 Date.now() 方法,它返回從 UNIX 紀元開始算起的毫秒總數。同樣,使用者也可以建立 Date 類的物件,並使用該物件上的 getTime() 方法。

語法

以下是使用 Date.now() 方法和 Date 類物件上的 getTime() 方法的語法。

  • 使用 Date 類的 now() 方法。
let timestamp = Date.now();
  • 使用 getTime() 方法。
let date = new Date(); // object of the date class
timestamp = date.getTime(); // To get the timestamp

示例

在下面的示例中,我們只是使用 Date.now() 方法獲取時間戳。此外,我們還建立了 Date 類的物件,並使用該物件呼叫了 getTime() 方法。

<!DOCTYPE html>
<html>
<body>
   <h2> Get a timestamp in JavaScript. </h2>
   <h4> Get timestamp using the Date.now() </h4>
   <div id="timestamp1"> </div>
   <h4> Get timestamp using the getTime() method </h4>
   <div id="timestamp2"> </div>
   <script>
      let timestamp1 = document.getElementById("timestamp1");
      let timestamp2 = document.getElementById("timestamp2");
      let timestamp = Date.now();
      timestamp1.innerHTML = timestamp;
      let date = new Date(); // creating the object of the date class
      timestamp = date.getTime();
      timestamp2.innerHTML = timestamp;
   </script>
</body>
</html>

使用 Moment JS 的 valueof() 方法

Moment JS 是一個 JavaScript 庫,它提供了額外的強大功能來操作日期和時間。在這裡,我們將使用 valueof() 方法來獲取從 UNIX 紀元開始算起的毫秒總數,並且要獲取秒數,我們將使用 unix() 方法。

在使用此方法之前,我們需要確保已在我們的應用程式中安裝了 Moment Js 庫,或者我們正在使用 CDN 將 Moment JS 嵌入到我們的程式碼中。

語法

let timestamp = moment().valueof(); // timestamp in milliseconds.
let timestamp = moment().unix(); // timestamp in seconds.

示例

下面的示例演示瞭如何使用 Moment JS 庫的 valueof() 方法。我們使用 valueof() 方法獲取當前時間戳(以毫秒為單位)。此外,我們還實現了 Moment JS 的 unix() 方法來獲取以毫秒為單位的時間戳。

<!DOCTYPE html>
<html>
<head>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment-with-locales.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
<body>
   <h2> Get a timestamp in JavaScript. </h2>
   <h4> Get timestamp in milliseconds using the valueOf() method of Moment JS. </h4>
   <div id="timestamp1"> </div>
   <h4> Get timestamp in seconds using the valueOf() method of Moment JS.</h4>
   <div id="timestamp2"> </div>
   <script>
      let timestamp1 = document.getElementById("timestamp1");
      let timestamp2 = document.getElementById("timestamp2");
      let timestamp = moment().valueOf(); // timestamp in milliseconds.
      timestamp1.innerHTML = timestamp;
      timestamp = moment().unix(); // timestamp in seconds
      timestamp2.innerHTML = timestamp;
   </script>
</body>
</html>

時間戳的用途

時間戳在 JavaScript 中可以有多種用途,但這裡我們透過一個示例展示了最佳用途。我們可以使用時間戳來查詢兩個日期之間的年份、月份、天數或任何你想要的單位的差異。

語法

使用者可以按照以下語法查詢兩個時間戳之間的差異。

let startDate = new Date("01/23/1990"); // creating date object
let diff = Date.now() - startDate.getTime(); // difference between current date and start date

示例

在下面的示例中,我們使用時間戳查詢兩個日期之間的年份、天數和週數。

<html>
<body>
   <h2> Get a timestamp in JavaScript. </h2>
   <h4>Number of years between the 01 / 23 / 1990 and current date. </h4>
   <div id="timestamp1"> </div>
   <h4>Difference in weeks</h4>
   <div id="timestamp2"> </div>
   <h4> Difference in days</h4>
   <div id="timestamp3"> </div>
   <script>
      let timestamp1 = document.getElementById("timestamp1");
      let timestamp2 = document.getElementById("timestamp2");
      let timestamp3 = document.getElementById("timestamp3");
      let startDate = new Date("01/23/1990");
      let diff = Date.now() - startDate.getTime();
      let day = 1000 * 60 * 60 * 24; // milliseconds of 1 day
      timestamp3.innerHTML = Math.floor(diff / day);
      let week = 7 * day // 7 days is equal to one week.
      timestamp2.innerHTML = Math.floor(diff / week);
      let year = 365 * day; // year has 365 days
      timestamp1.innerHTML = Math.floor(diff / year);
   </script>
</body>
</html>

結論

我們已經瞭解瞭如何使用 Moment JS 庫方法和 JavaScript 的 Date() 類來獲取時間戳。此外,我們還透過一個帶有工作程式碼的示例瞭解了時間戳的用途。

更新於: 2022-07-25

5K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.