Bagaimana untuk Mengira Perbezaan Masa dengan Tepat Antara Dua Masa dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-11-19 05:41:02
asal
584 orang telah melayarinya

How to Accurately Calculate the Time Difference Between Two Datetimes in JavaScript?

Cara Mendapatkan Perbezaan Masa Antara Masa Tarikh

Menentukan perbezaan masa antara dua kejadian ialah tugas asas dalam pelbagai senario pengaturcaraan. Artikel ini membincangkan cara mengira perbezaan ini dengan berkesan menggunakan contoh khusus.

Pertimbangkan keperluan berikut:

var now  = "04/09/2013 15:00:00";
var then = "04/09/2013 14:20:30";

//expected result:
"00:39:30"
Salin selepas log masuk

Pada mulanya, anda boleh mencuba pendekatan berikut:

var now = moment("04/09/2013 15:00:00");
var then = moment("04/09/2013 14:20:30");

console.log(moment(moment.duration(now.diff(then))).format("hh:mm:ss"))
// outputs 10:39:30
Salin selepas log masuk

Walau bagaimanapun, dalam contoh ini, nilai yang tidak dijangka "10" muncul dalam hasilnya. Ini kerana moment.duration menukarkan perbezaan antara sekarang dan kemudian kepada objek yang mengandungi nilai dalaman seperti milisaat. Untuk menukar tempoh ini kepada selang masa, anda boleh menggunakan:

duration.get("hours") + ":" + duration.get("minutes") + ":" + duration.get("seconds")
Salin selepas log masuk

Ini akan menghasilkan hasil yang diingini: "00:39:30."

Nota: Pendekatan ini hanya sesuai untuk tempoh kurang daripada 24 jam. Untuk tempoh yang lebih besar, anda memerlukan pendekatan yang berbeza.

var now  = "04/09/2013 15:00:00";
var then = "02/09/2013 14:20:30";

var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss"));
var d = moment.duration(ms);
var s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");

// outputs: "48:39:30"
Salin selepas log masuk

Dalam kes ini, kami mengira perbezaan masa sebagai milisaat, menukarkannya kepada objek tempoh d, dan kemudian memformatkannya menggunakan masa UTC. Ini memberikan kita hasil yang betul, "48:39:30."

Sebagai alternatif, anda boleh menggunakan pemalam format jangka masa untuk memudahkan proses pemformatan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Masa dengan Tepat Antara Dua Masa dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan