首頁 >web前端 >js教程 >如何在 JavaScript 中將 CFAbsoluteTime 轉換為日期對象,反之亦然?

如何在 JavaScript 中將 CFAbsoluteTime 轉換為日期對象,反之亦然?

王林
王林轉載
2023-09-08 15:21:07579瀏覽

如何在 JavaScript 中将 CFAbsoluteTime 转换为日期对象,反之亦然?

CFAbsoluteTime 是自 2001 年 1 月 1 日 00:00:00 UTC 以來經過的時間。這是 Apple 裝置上的標準時間格式。另一方面,日期對像是 JavaScript 中的內建對象,用於表示日期和時間值。它有許多方法用於提供格式設定以及將日期和時間從一種形式轉換為另一種形式。

CFAbsolute Time 和 JavaScript Date 物件之間的主要區別在於它們的格式。 CFAabsolute 時間是一個數值,表示自 Unix 紀元以來的毫秒數,而日期物件是表示相對於客戶端瀏覽器的特定日期和時間、年、月、日、小時、分鐘、秒和毫秒的物件。

在本教程中我們已經學習了兩者 -

  • 將 CFAbsoluteTime 轉換為日期物件

  • #將日期物件轉換為 CFAbsoluteTime

#將 CFAbsoluteTime 轉換為日期物件

CFAbsoluteTime 是自2001 年1 月1 日00:00:00 UTC 以來經過的時間,而日期對像是自1970 年1 月1 日00:00:00 UTC 以來經過的時間,因此我們需要將它們之間的差異加入到CFAbsoluteTime 中,是978307200,單位也是毫秒,所以另外,我們需要將結果乘以1000。

讓我們看看如何獲得更多許可的逐步方法。

  • 初始化 CFAbsoluteTime 值,我們將其轉換為 Date 物件值。

  • 建立一個新的 Date 對象,傳遞初始化值,並將 978307200 加到其中,然後乘以 1000(以毫秒為單位)。

  • 最後,列印結果。

範例

在此範例中,我們使用 JavaScript 將 CFAbsoluteTime 轉換為日期物件。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Converting CFAbsoluteTime to Date Object in JavaScript</title>
</head>
<body>
   <h2> Convert CFAbsoluteTime to Date Object </h2>
   <p id="input">CFAbsoluteTime: </p>
   <p id="output">Date Object: </p>
   <script>
      // CFAbsoluteTime
      let CFAbsoluteTime = 641347496.743657;
      document.getElementById("input").innerHTML += CFAbsoluteTime ;
      
      // Convert CFAbsoluteTime to Date Object
      let date = new Date((CFAbsoluteTime + 978307200)  * 1000);
      
      // Display the result
      document.getElementById("output").innerHTML += date;
   </script>
</body>
</html>

將日期物件轉換為 CFAbsoluteTime

#要將 CFAbsoluteTime 轉換為 Date 對象,我們需要執行與先前將 CFAbsoluteTime 轉換為 Date 物件完全相反的操作。

    以下是在 JavaScript 中將 CFAbsoluteTime 轉換為 Date 物件的逐步過程 -
  • 使用作為參數傳遞的日期和時間初始化 Date 對象,我們將其轉換為 CFAbsoluteTime。
  • 然後對上述物件使用 getTime() 方法,並將其除以 1000,記住在上面的步驟中我們已經乘以 1000,這裡我們只是反轉該過程。
  • 最後用結果減去 978307200,就像我們在將 CFAbsoluteTime 轉換為 Date 物件時添加一樣。
  • 最後,列印結果。

範例

在此範例中,我們使用 JavaScript 將 CFAbsoluteTime 轉換為 Date 物件。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Converting Date Object to CFAbsoluteTime JavaScript</title>
</head>
<body>
   <h2> Convert Date Object to CFAbsoluteTime </h2>
   <p id="input">Date Object: </p>
   <p id="output">CFAbsoluteTime: </p>
   <script>
      // Creting date object
      var date = new Date("June 15, 2023 16:16:36");
      document.getElementById("input").innerHTML += date;
      
      // convert date to CFAbsoluteTime
      var CFAbsoluteTime = (date.getTime() / 1000) - 978307200;
      
      // display CFAbsoluteTime
      document.getElementById("output").innerHTML += CFAbsoluteTime;
   </script>
</body>
</html>

摘要

###讓我們總結一下我們在本教程中學到的內容。我們看到,要將 CFAbsoluteTime 轉換為 Date 物件或將 Date 物件轉換為 CFAbsoluteTime,我們只需要執行簡單的數學運算。我們需要看到這兩個時間之間有兩個差異,CFAbsoluteTime 是自UTC 2001 年1 月1 日00:00:00 以來經過的時間,而Date 物件是自1970 年1 月1 日00:00 以來經過的時間: 00 世界標準時間。因此,它們之間的差異是 978307200,我們可以用它透過加法或減法將一種形式轉換為另一種形式。第二個是 CFAbsoluteTime 的單位是毫秒,我們可以透過乘以 1000 來轉換,反之亦然。 ###

以上是如何在 JavaScript 中將 CFAbsoluteTime 轉換為日期對象,反之亦然?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除