Dalam tutorial ini, Anda akan belajar cara menghitung jumlah hari antara dua tanggal
Dalam tutorial ini, Anda akan belajar cara menghitung jumlah hari antara dua tanggalDalam tutorial ini, Anda akan belajar cara menghitung jumlah hari antara dua tanggal. Untuk itu, Anda perlu menggunakan objek Tanggal untuk mengambil nilai milidetik Tanggal menggunakan Tanggal. fungsi getTime(). Setelah kedua Tanggal dikonversi, mengurangkan yang terakhir dari yang sebelumnya akan mengembalikan perbedaan dalam milidetik. Interval yang diinginkan kemudian dapat ditentukan dengan membagi angka tersebut dengan jumlah milidetik yang sesuai
Contoh
Enter Date1(yyyy-mm-dd):
Enter Date2(yyyy-mm-dd):
Number of days:
Ada begitu banyak hal yang dapat Anda lakukan dengan kalkulator tanggal & waktu. Dengan kalkulator tanggal & waktu, Anda dapat menghitung berapa hari yang diperlukan untuk pengiriman tiba, berapa bulan yang diperlukan untuk langganan berakhir, atau mungkin Anda ingin membuat kalkulator waktu Anda sendiri seperti Aplikasi Luar Biasa ini, beri nama
Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana Anda dapat membuat fungsi sederhana yang akan membantu menghitung perbedaan antara dua tanggal
MARI KITA MULAISaya akan memanggil fungsi calDate() kependekan dari 'calculateDate'
Fungsi ini akan memiliki 2 parameter yaitu date1 dan date2 dan 2 tanggal ini harus dalam format MM-DD-YYYY (Bulan-Tanggal-Tahun), untuk menghindari kesalahan pada saat perhitungan
Saya suka menulis tanggal dalam format DD-MM-YYYY, tapi di artikel ini kebetulan saya tidak mendukung orang ini 😅
Sekarang, mari kita mulai dengan fungsinya
Saya akan membuat instance baru dari objek Date dan menemukan stempel waktu dari kedua tanggal
Selanjutnya, kita harus mencegah nilai negatif saat kita mengurangi stempel waktu yang lebih tinggi dari stempel waktu yang lebih rendah karena ini dapat merusak hasil kita
Saya akan menggunakan kondisi untuk memeriksa stempel waktu mana yang lebih besar dan kemudian menukarnya, seperti yang Anda lihat di baris 18
Saya telah meneruskan hasil pengurangan stempel waktu 2 dari stempel waktu 1 sebagai argumen ke instance tanggal baru agar JavaScript mengonversi stempel waktu yang dihasilkan menjadi tanggal
Selanjutnya, kita harus mengambil hari, bulan, dan tahun dari hasil dan kemudian menggabungkannya dengan tanda hubung. Ini akan membantu kita mengubahnya menjadi array yang akan kita baca nanti
Jika Anda mengamati kode di atas, Anda akan melihat bahwa saya menambahkan +1 ke metode getMonth()
Ini karena JavaScript menghitung bulan dari indeks nol, ini berarti 0 — 11 adalah Januari hingga Desember, jadi
- 0 untuk Januari
- 1 untuk bulan Februari
- hingga 11 untuk Desember
Pada baris 26, saya membuat draf bagaimana bentuk array, dengan format DD-MM-YYYY, kemudian pada baris 28, saya menggunakan metode split untuk mengubah draf menjadi array
WAKTUNYA MEMBACA DARI ARRAYArray dibuat dalam format ini
- Pada posisi 0 adalah Hari
- Di posisi 1 adalah Bulan
- Di posisi 2 adalah Tahun
Kami akan mengurangi setiap anggota array ini dari tanggal default yaitu (01–01 -1970). Ini akan membantu kita mengetahui jumlah hari, bulan, dan tahun yang telah berlalu
Kami juga perlu menyiapkan teks khusus yang akan membantu mencegah kesalahan dalam menghitung seperti;
Sekarang jika Anda mencari berapa hari dalam 6 bulan, Anda akan mendapatkan rumus yang akan kami gunakan untuk mendapatkan jumlah hari antara dua tanggal
MENEMUKAN JUMLAH TOTAL HARI BERLALU
Mari kita cari jumlah hari dengan mengubah tahun dan bulan menjadi hari, lalu kita jumlahkan hasilnya dengan hari yang sudah ada dari perhitungan
MENINGKATKAN TEKS KUSTOMSaya akan memeriksa apakah jumlah tahun yang telah berlalu sama dengan 1, maka saya akan menampilkan teks khusus sebagai satu tahun. Misalnya 1 tahun
Namun jika jumlah tahun yang telah berlalu lebih dari 1, saya akan menampilkan teks khusus sebagai tahun. Kalau tidak, saya tidak akan menunjukkan nilai apa pun
Catatan. Saya menggunakan Ternary Operator untuk menyederhanakan logika
Mari kita bulatkan total hari ke bilangan bulat terdekat karena ada kemungkinan 95% hasilnya akan berakhir sebagai angka dengan desimal. Saya akan menggunakan metode matematika Math.round() untuk mencapai ini, dan kemudian saya akan mengembalikan hasilnya sebagai objek
MENGUJI KODESaya akan menggunakan tanggal di bawah ini
- tanggal 1 = hari ini (m-d-y) = 11–19–2021
- tanggal 2 = masa depan (m-d-y) = 12–12–2026
Ini adalah output
Kami memiliki 5 tahun dan 23 hari tersisa hingga 12 Desember 2026
Sekarang jika Anda menggunakan Aplikasi eksternal seperti waktu dan tanggal untuk perhitungan yang sama, Anda harus mendapatkan jika bukan perkiraan, nilai yang sama
MEMPERLUAS KALKULATOR
Karena kami dapat menghitung total hari yang telah berlalu, kami dapat memperpanjang kalkulator untuk menghitung;
- jumlah total detik
- jumlah menit
- jumlah jam dan
- jumlah minggu
Jadi ketika saya memanggil fungsi untuk menghitung perbedaan tanggal antara hari ini (08–04–2022) dan tanggal yang sama di masa mendatang (12–12–2026), inilah hasilnya
Jadi dari perhitungan kita masih ada 4 tahun 4 bulan & 10 hari lagi sampai tanggal 12 Desember 2026
KESIMPULANJadi itulah pengaturan dasar untuk fungsi yang membantu menghitung perbedaan antara dua tanggal
Bangun aplikasi web yang dapat disusunJangan membangun monolit web. Gunakan Bit untuk membuat dan menyusun komponen perangkat lunak yang dipisahkan — dalam kerangka kerja favorit Anda seperti React atau Node. Bangun frontend dan backend yang dapat diskalakan dengan pengalaman dev yang kuat dan menyenangkan
Bawa tim Anda ke Bit Cloud untuk menghosting dan berkolaborasi pada komponen bersama-sama, dan sangat mempercepat, menskalakan, dan menstandarkan pengembangan sebagai sebuah tim. Mulai dengan frontend yang dapat dikomposisi seperti Sistem Desain atau Frontend Mikro, atau jelajahi backend yang dapat dikomposisi. Cobalah →