Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menukar Epoch UTC kepada Tarikh Setempat dalam JavaScript?

Bagaimana untuk Menukar Epoch UTC kepada Tarikh Setempat dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-11-16 00:03:02756semak imbas

How to Convert UTC Epoch to a Local Date in JavaScript?

Menukar Epok UTC kepada Tarikh Setempat

Menukar zaman UTC kepada objek tarikh tempatan boleh menjadi tugas yang sukar. Secara lalai, Date() baharu JavaScript menganggap masa zaman adalah setempat, yang membawa kepada kekeliruan apabila berurusan dengan zaman UTC.

Penyelesaian

Penyelesaian 1: Menggunakan Kaedah setUTCSeconds()

Daripada melaraskan objek UTC menggunakan setTime(), yang tidak selalu menghasilkan hasil yang tepat, pertimbangkan untuk menetapkan tarikh awal pada zaman dan menambah unit UTC.

var utcSeconds = 1234567890;
var d = new Date(0); // Sets the date to the epoch
d.setUTCSeconds(utcSeconds);

Ini pendekatan secara langsung menetapkan tarikh kepada zaman UTC dan melaraskannya kepada saat UTC yang dikehendaki.

Penyelesaian Ganti: Mengira Perbezaan Masa

Jika penyelesaian di atas tidak berfungsi, anda boleh cuba mengira perbezaan masa antara zaman semasa tempatan dan zaman semasa UTC. Berikut ialah versi ubah suai kod yang anda berikan:

var utcSeconds = 1234567890;
var utcDate = new Date(utcSeconds * 1000); // Convert seconds to milliseconds
var localDate = new Date();
var timeDifference = localDate.getTime() - utcDate.getTime();

console.log(timeDifference);  // This should give you the time difference in milliseconds

Pastikan anda menukar saat UTC kepada milisaat sebelum mencipta objek utcDate. TimeDifference kemudiannya akan memberikan perbezaan milisaat antara waktu tempatan dan waktu UTC, membolehkan pelarasan yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Epoch UTC kepada Tarikh Setempat dalam JavaScript?. 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