Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar objek CFAbsoluteTime ke Date dan sebaliknya dalam JavaScript?

Bagaimana untuk menukar objek CFAbsoluteTime ke Date dan sebaliknya dalam JavaScript?

王林
王林ke hadapan
2023-09-08 15:21:07538semak imbas

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

CFAbsoluteTime ialah masa berlalu sejak 1 Januari 2001 00:00:00 UTC. Ini ialah format masa standard pada peranti Apple. Objek tarikh, sebaliknya, ialah objek terbina dalam JavaScript yang digunakan untuk mewakili nilai tarikh dan masa. Ia mempunyai banyak kaedah untuk menyediakan pemformatan dan menukar tarikh dan masa dari satu bentuk ke bentuk yang lain.

Perbezaan utama antara objek CFAabsolute Time dan JavaScript Date ialah formatnya. CFAabsolute A time ialah nilai berangka yang mewakili bilangan milisaat sejak zaman Unix, manakala objek tarikh ialah objek yang mewakili tarikh dan masa, tahun, bulan, hari, jam, minit, saat dan milisaat tertentu berbanding dengan pelayar klien.

Dalam tutorial ini kami telah mempelajari kedua-duanya -

  • Tukar CFAabsoluteTime kepada objek tarikh

  • Tukar objek tarikh kepada CFAabsoluteTime

Tukar CFAabsoluteTime kepada objek tarikh

CFAbsoluteTime ialah masa berlalu sejak 1 Januari 2001 00:00:00 UTC, manakala objek tarikh ialah masa berlalu sejak 1 Januari 1970 00:00:00 UTC, jadi kita perlu memisahkannya Perbezaan yang ditambahkan pada CFAbsoluteTime ialah 978307200, juga dalam milisaat, jadi tambahan, kita perlu mendarabkan hasil dengan 1000.

Jom lihat kaedah langkah demi langkah tentang cara mendapatkan lebih banyak lesen.

  • Mulakan nilai CFAabsoluteTime, yang kami tukar kepada nilai objek Tarikh.

  • Buat objek Date baharu, lulus nilai permulaan dan tambah 978307200 padanya, kemudian darabkannya dengan 1000 (dalam milisaat).

  • Akhir sekali, cetak keputusan.

Contoh

Dalam contoh ini, kami menggunakan JavaScript untuk menukar CFAbsoluteTime kepada objek tarikh.

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

Tukar objek tarikh kepada CFAabsoluteTime

Untuk menukar CFAbsoluteTime kepada objek Date, kita perlu melakukan perkara yang bertentangan dengan apa yang kita lakukan sebelum ini untuk menukar CFAbsoluteTime kepada objek Date.

Berikut ialah proses langkah demi langkah untuk menukar CFAabsoluteTime kepada objek Date dalam JavaScript -

  • Mulakan objek Tarikh dengan tarikh dan masa berlalu sebagai parameter, yang kami tukar kepada CFAabsoluteTime.

  • Kemudian gunakan kaedah getTime() pada objek di atas dan bahagikannya dengan 1000, ingat dalam langkah di atas kita telah darab dengan 1000, di sini kita hanya membalikkan prosesnya.

  • Akhirnya tolak 978307200 daripada hasilnya, sama seperti yang kami tambah semasa menukar CFAbsoluteTime kepada objek Date.

  • Akhir sekali, cetak keputusan.

Contoh

Dalam contoh ini, kami menggunakan JavaScript untuk menukar CFAabsoluteTime kepada objek 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>

Ringkasan

Mari kita ringkaskan apa yang kita pelajari dalam tutorial ini. Kami melihat bahawa untuk menukar CFAbsoluteTime kepada objek Date atau objek Date kepada CFAbsoluteTime, kita hanya perlu melakukan operasi matematik yang mudah. Kita perlu melihat bahawa terdapat dua perbezaan antara dua masa ini, CFAbsoluteTime ialah masa berlalu sejak 1 Januari 2001 00:00:00 UTC, dan objek Tarikh ialah masa sejak 1 Januari 1970 00:00 Masa berlalu: 00 UTC. Oleh itu, perbezaan antara mereka ialah 978307200, yang boleh kita gunakan untuk menukar satu bentuk kepada yang lain dengan penambahan atau penolakan. Yang kedua ialah CFAbsoluteTime adalah dalam milisaat dan kita boleh menukar dengan mendarab dengan 1000 dan sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek CFAbsoluteTime ke Date dan sebaliknya dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam