Home  >  Article  >  Web Front-end  >  How to convert CFAbsoluteTime to Date object and vice versa in JavaScript?

How to convert CFAbsoluteTime to Date object and vice versa in JavaScript?

王林
王林forward
2023-09-08 15:21:07539browse

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

CFAbsoluteTime is the time elapsed since January 1, 2001 00:00:00 UTC. This is the standard time format on Apple devices. Date object, on the other hand, is a built-in object in JavaScript that is used to represent date and time values. It has many methods for providing formatting and converting dates and times from one form to another.

The main difference between CFAbsolute Time and JavaScript Date objects is their format. CFAabsolute A time is a numeric value that represents the number of milliseconds since the Unix epoch, while a date object is an object that represents a specific date and time, year, month, day, hour, minute, second, and millisecond relative to the client browser.

In this tutorial we have learned both -

  • Convert CFAbsoluteTime to date object

  • Convert date object to CFAbsoluteTime

Convert CFAbsoluteTime to date object

CFAbsoluteTime is the time elapsed since January 1, 2001 00:00:00 UTC, and the date object is the time elapsed since January 1, 1970 00:00:00 UTC, so we need to convert them The difference added to CFAbsoluteTime is 978307200, also in milliseconds, so additionally, we need to multiply the result by 1000.

Let’s see the step-by-step method on how to get more licenses.

  • Initialize the CFAbsoluteTime value, which we convert to a Date object value.

  • Create a new Date object, pass the initialization value, and add 978307200 to it, then multiply by 1000 (in milliseconds).

  • Finally, print the results.

Example

In this example, we use JavaScript to convert a CFAbsoluteTime into a date object.

<!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>

Convert date object to CFAbsoluteTime

To convert CFAbsoluteTime to a Date object, we need to do the exact opposite of what we did before to convert CFAbsoluteTime to a Date object.

Here is the step-by-step process to convert a CFAbsoluteTime to a Date object in JavaScript -

  • Initialize a Date object with the date and time passed as parameters, which we convert to CFAbsoluteTime.

  • Then use the getTime() method on the above object and divide it by 1000, remember in the above step we have multiplied by 1000, here we just reverse the process.

  • Finally subtract 978307200 from the result, just like we added when converting the CFAbsoluteTime to a Date object.

  • Finally, print the results.

Example

In this example, we use JavaScript to convert a CFAbsoluteTime to a Date object.

<!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>

Summary

Let's summarize what we learned in this tutorial. We see that to convert a CFAbsoluteTime to a Date object or a Date object to a CFAbsoluteTime we only need to perform simple mathematical operations. We need to see that there are two differences between these two times, the CFAbsoluteTime is the time elapsed since January 1, 2001 00:00:00 UTC, and the Date object is the time since January 1, 1970 00:00 Elapsed time: 00 UTC. Therefore, the difference between them is 978307200, which we can use to convert one form to the other by addition or subtraction. The second one is that CFAbsoluteTime is in milliseconds and we can convert by multiplying by 1000 and vice versa.

The above is the detailed content of How to convert CFAbsoluteTime to Date object and vice versa in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete