Rumah  >  Artikel  >  hujung hadapan web  >  cap masa javascript kepada datetime

cap masa javascript kepada datetime

WBOY
WBOYasal
2023-05-15 19:38:06986semak imbas

JavaScript ialah bahasa skrip berkuasa yang digunakan secara meluas dalam pembangunan bahagian hadapan web dan pengaturcaraan bahagian pelayan. Menukar antara cap masa dan masa tarikh ialah operasi yang sangat biasa dalam JavaScript.

Cap masa ialah bilangan milisaat sejak 1 Januari 1970 00:00:00 UTC (Waktu Sejagat Selaras). Dalam JavaScript, anda boleh mendapatkan cap masa semasa dengan kod berikut:

var timestamp = new Date().getTime(); // 获取当前时间戳

Walau bagaimanapun, cap masa tidak intuitif dan selalunya perlu ditukar kepada format datetime untuk pemahaman manusia. JavaScript menyediakan beberapa kaedah untuk menukar antara cap waktu dan masa tarikh. Di bawah kami memperkenalkan kaedah ini masing-masing.

Tukar cap masa kepada tarikh dan masa

Untuk menukar cap masa kepada tarikh dan masa, anda boleh menggunakan kaedah Date objek toLocaleString(). Kaedah ini akan mengembalikan rentetan berdasarkan waktu tempatan dalam format yyyy/MM/dd HH:mm:ss. Kodnya adalah seperti berikut:

var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854
var datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false});
console.log(datetime); // 输出:2021/7/14 12:15:23

Antaranya, kaedah toLocaleString() menerima dua parameter:

  • Parameter pertama menentukan kod rantau (tempatan), di sini kami menggunakan zh-CN mewakili China. Format masa akan berbeza-beza bergantung pada wilayah.
  • Parameter kedua dihantar sebagai objek dan digunakan untuk menetapkan format tarikh dan masa. {hour12: false} Menunjukkan bahawa daripada menggunakan jam 12 jam, gunakan jam 24 jam.

Dengan cara ini, kami berjaya menukar cap masa kepada format tarikh dan masa.

Masa tarikh ke cap masa

Untuk menukar masa tarikh kepada cap masa, anda boleh menggunakan kaedah Date objek getTime(). Kaedah ini mengembalikan bilangan milisaat sejak 1 Januari 1970 00:00:00 UTC (Waktu Sejagat Selaras). Kod tersebut adalah seperti berikut:

var datetime = '2021-07-14T12:15:23.854Z'; // 假设日期时间为 2021/07/14 12:15:23.854 UTC
var timestamp = new Date(datetime).getTime();
console.log(timestamp); // 输出:1626292523854

Antaranya tarikh dan masa perlu menepati format standard ISO 8601 iaitu yyyy-MM-ddTHH:mm:ss.sssZ. Dalam format ini, Z menunjukkan bahawa zon waktu ialah UTC, tetapi zon waktu lain juga boleh ditentukan.

Dengan cara ini, kami berjaya menukar tarikh dan masa kepada cap masa.

Pertimbangan prestasi

Walaupun kod di atas kelihatan ringkas dan mudah difahami, perlu diingatkan bahawa mencipta objek Date setiap kali akan dikenakan overhed prestasi tertentu, terutamanya dalam gelung atau kerap. apabila dipanggil. Untuk meningkatkan prestasi, kita boleh menggunakan sedikit helah untuk cache cap masa sebagai pembolehubah dan hanya menukarnya apabila diperlukan, seperti ini:

var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854
var datetime = null; // 初始值为 null,表示尚未转换
var getDatetime = function() {
  if (datetime === null) {
    datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false});
  }
  return datetime;
};
console.log(getDatetime()); // 输出:2021/7/14 12:15:23

Dengan cara ini, apabila getDatetime() dipanggil buat kali pertama, ia akan Melakukan operasi penukaran cap masa dan cache hasilnya ke dalam pembolehubah datetime. Dalam panggilan berikutnya, hanya kembalikan hasil cache secara langsung. Melakukan ini mengelakkan operasi penukaran cap masa berulang dan meningkatkan prestasi kod.

Ringkasnya, penukaran antara cap waktu dan masa tarikh dalam JavaScript adalah sangat penting dan sangat biasa. Selagi kami menguasai kaedah penukaran yang betul dan memberi perhatian kepada prestasi kod, kami boleh mengatasi pelbagai keperluan penukaran masa dengan mudah.

Atas ialah kandungan terperinci cap masa javascript kepada datetime. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:halaman ralat htmlArtikel seterusnya:halaman ralat html