Langkau ke kandungan utama

Kalkulator Perbezaan Tarikh percuma

Kira perbezaan tepat antara dua tarikh β€” tahun, bulan, hari, minggu, hari bekerja (tidak termasuk hujung minggu), jam, dan minit.

Berfungsi luar talian selepas dimuatkan

Pratetap pantas

Pilih kedua tanggal untuk melihat perbedaannya.

Kegunaan biasa

  • Kira Hari Sehingga Tarikh Bersalin yang DijangkaKiraan ke belakang hingga tarikh bersalin bayi yang dijangka β€” ketahui dengan tepat berapa minggu, hari dan jam sehingga hari besar.
  • Hari Sehingga Cuti AndaKiraan ke belakang ke lawatan anda dengan hari kerja, jumlah hari dan minggu selebihnya untuk tujuan perancangan.
  • Hari Kerja Sehingga Tarikh Akhir ProjekKira bilangan hari kerja yang tepat (tidak termasuk hujung minggu) antara hari ini dan tarikh akhir projek.
  • Kira Hari Ulang Tahun BersamaKetahui dengan tepat berapa hari, bulan dan tahun anda telah bersama seseorang yang istimewa.
  • Kalkulator Perbezaan Umur Antara Dua OrangKira perbezaan umur yang tepat antara dua tarikh lahir β€” tahun, bulan dan hari.

Cara ia berfungsi

Semua pengiraan berjalan sepenuhnya dalam pelayar menggunakan aritmetik UTC tulisan tangan β€” tiada pustaka luaran, tiada permintaan pelayan. Alat ini menghurai rentetan YYYY-MM-DD kepada komponen kalendar, mengira perbezaan menggunakan cap masa milisaat Date.UTC() untuk mengelak hanyutan DST, dan berulang hari-demi-hari untuk mengira hari bekerja Isnin–Jumaat.

  1. 1
    Penghuraian tarikh selamat
    Setiap rentetan tarikh disahkan dengan regex dan kemudian dibina semula melalui Date.UTC() β€” bukan new Date(string) β€” supaya pengguna di sebelah barat UTC tidak pernah melihat anjakan hari dalam minggu disebabkan tafsiran zon-waktu-tempatan pelayar bagi input tarikh-sahaja.
  2. 2
    Penolakan milisaat UTC
    Dua tarikh kalendar ditukar kepada cap masa tengah malam UTC dengan Date.UTC(y, m, d). Pembahagian integer dengan 86,400,000 ms memberikan kiraan hari-penuh tepat yang kebal terhadap peralihan waktu penjimatan siang, yang jika tidak boleh menjadikan satu hari kelihatan 23 atau 25 jam panjang.
  3. 3
    Pecahan kalendar dan kiraan hari bekerja
    Penguraian tahun/bulan/hari tulisan tangan mengendalikan ketidaksekataan panjang bulan (meminjam hari daripada bulan sebelumnya apabila diperlukan). Gelung berasingan melangkah melalui setiap hari UTC antara dua tarikh dan menambah pembilang hanya untuk Isnin–Jumaat (getUTCDay() !== 0 atau 6), menghasilkan jumlah hari-bekerja tepat tidak kira lokal.
  4. 4
    Hasil dipaparkan dalam semua unit
    Jumlah diformat dengan toLocaleString() menggunakan lokal halaman untuk pengumpulan digit sedar-lokal, kemudian dipaparkan serentak sebagai tahun/bulan/hari, jumlah hari, hari bekerja, minggu, jam, dan minit. Pasangan tarikh semasa ditulis ke URL melalui history.replaceState supaya sebarang hasil boleh ditandabuku atau dikongsi sebagai pautan terus.

Alat berkaitan

Soalan lazim