Jika saya memiliki dua tanggal, bagaimana saya bisa menggunakan JavaScript untuk mendapatkan perbedaan antara dua tanggal dalam hitungan menit?
javascript
datetime
John
sumber
sumber
Jawaban:
Anda dapat memeriksa kode ini:
atau
var diffMins = Math.floor((...
untuk membuang detik jika Anda tidak ingin membulatkan menit.sumber
Math.round(((diffMs % 86400000) % 3600000) / 60000);
tidak bekerja ketika perbedaannya lebih besar dari 60 menitMengurangi 2 objek Date memberi Anda perbedaan dalam milidetik, misalnya:
Math.abs
digunakan untuk dapat menggunakan perbedaan absolut (sehingganew Date('2011/10/09 00:00') - new Date('2011/10/09 12:00')
memberikan hasil yang sama).Membagi hasil dengan 1000 memberi Anda jumlah detik. Membagi dengan 60 memberi Anda jumlah menit. Untuk membulatkan ke seluruh menit, gunakan
Math.floor
atauMath.ceil
:Dalam contoh ini hasilnya akan menjadi 720
sumber
(Math.floor(seconds/60))+':'+((seconds/60)%60)
jika Anda memerlukan detik yang tersisa juganew Date(string)
dengan format selain string format ISO-8601. Lihat Mengapa Date.parse memberikan hasil yang salah? , atau cukup gunakan angka (mis.,new Date(2011, 9, 9, 12, 0, 0)
ingat bulan berdasarkan 0).sumber
new Date(string)
dengan format selain string format ISO-8601. Lihat Mengapa Date.parse memberikan hasil yang salah? , atau cukup gunakan angka (mis.,new Date(2011, 9, 9, 12, 0, 0)
ingat bulan berdasarkan 0).Fungsi sederhana untuk melakukan perhitungan ini:
sumber
Itu harus menunjukkan perbedaan antara dua tanggal dalam hitungan menit. Cobalah di browser Anda:
sumber
(currDate.getTime() - oldDate.getTime()) / 60000
Bagi yang suka bekerja dengan angka kecil
sumber
Masalah ini diselesaikan dengan mudah dengan moment.js, seperti contoh ini:
var difference = mostDate.diff(minorDate, "minutes");
Parameter kedua dapat diubah untuk parameter lain, lihat dokumentasi moment.js.
mis: "hari", "jam", "menit", dll.
http://momentjs.com/docs/
CDN untuk moment.js tersedia di sini:
https://cdnjs.com/libraries/moment.js
Terima kasih.
EDIT:
mostDate dan minorDate harus menjadi tipe momen.
sumber
Inilah beberapa kesenangan yang saya miliki dalam menyelesaikan sesuatu yang serupa di simpul.
Anda dapat melihatnya beraksi di https://repl.it/@GioCirque/TimeSpan-Formatting
sumber
Kode berikut ini berfungsi untuk saya,
sumber
Anda dapat melakukannya sebagai berikut:
difference of dates
(Perbedaan akan dalam milidetik)milliseconds
menjadiminutes
misms/1000/60
Kode:
sumber