Rumah > hujung hadapan web > tutorial js > Bagaimanakah Moment.js boleh digunakan untuk mengira dan memformatkan perbezaan masa dengan tepat antara dua DateTimes, mengendalikan perbezaan melebihi 24 jam?

Bagaimanakah Moment.js boleh digunakan untuk mengira dan memformatkan perbezaan masa dengan tepat antara dua DateTimes, mengendalikan perbezaan melebihi 24 jam?

Patricia Arquette
Lepaskan: 2024-11-26 12:33:14
asal
729 orang telah melayarinya

How can Moment.js be used to accurately calculate and format the time difference between two DateTimes, handling differences exceeding 24 hours?

Dapatkan Perbezaan Masa Antara DateTimes

Apabila bekerja dengan data berasaskan masa, memahami perbezaan masa antara dua tarikh atau masa yang dinyatakan adalah penting . Perbezaan ini boleh dikira menggunakan perpustakaan Moment.js.

Penyelesaian Moment.js

Moment.js menyediakan kaedah yang mantap untuk mengira perbezaan masa. Pertimbangkan contoh berikut:

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

console.log(moment(moment.duration(now.diff(then))).format("hh:mm:ss"));
Salin selepas log masuk

Kod ini harus mengeluarkan "00:39:30," mewakili perbezaan masa antara "sekarang" dan "kemudian."

Tempoh hingga Penukaran Selang Masa

Jika perbezaan masa melebihi 24 jam, pendekatan di atas mungkin mengembalikan nilai yang salah. Untuk menyelesaikan masalah ini, gunakan penyelesaian yang lebih mantap:

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");
Salin selepas log masuk

Dalam kod yang disemak ini, kami menukar perbezaan masa kepada milisaat (ms) dan kemudian menggunakan fungsi moment.duration() untuk mencipta objek tempoh ( d). Akhir sekali, kami mengekstrak jam, minit dan saat daripada objek tempoh dan memformatkannya ke dalam selang masa. Pendekatan ini memastikan hasil yang tepat walaupun untuk perbezaan masa lebih daripada 24 jam.

Pemalam Format Tempoh-Momen

Sebagai alternatif, pertimbangkan untuk menggunakan pemalam format tempoh-momen, yang menyediakan kaedah khusus untuk memformat objek tempoh:

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 = d.format("hh:mm:ss");
Salin selepas log masuk

Dengan pemalam ini, perbezaan masa diformatkan terus ke dalam selang masa tanpa memerlukan pengiraan manual.

Atas ialah kandungan terperinci Bagaimanakah Moment.js boleh digunakan untuk mengira dan memformatkan perbezaan masa dengan tepat antara dua DateTimes, mengendalikan perbezaan melebihi 24 jam?. 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