Kalkulasi tanggal adalah proses mencari selisih antara dua tanggal kalender atau menambah/mengurangi durasi dari tanggal tertentu. Kalkulator tanggal online memungkinkan Anda menentukan jumlah tepat hari, minggu, bulan, dan tahun antara dua tanggal tanpa menghitung secara manual. Ini digunakan dalam perencanaan proyek, hukum kontrak, akuntansi keuangan, dan pengembangan perangkat lunak.
Kompleksitas kalkulasi tanggal berasal dari struktur kalender Gregorian yang tidak beraturan. Bulan memiliki 28, 29, 30, atau 31 hari. Tahun memiliki 365 atau 366 hari tergantung pada aturan tahun kabisat. Pengurangan sederhana angka hari menghasilkan hasil yang salah ketika tanggal mencakup bulan atau tahun yang berbeda. Algoritma selisih tanggal yang tepat harus memperhitungkan ketidakberaturan ini dengan melewati setiap unit kalender secara terpisah.
Aritmatika tanggal muncul dalam banyak konteks pemrograman: menghitung kedaluwarsa token, menjadwalkan acara berulang, menghitung tenggat waktu SLA, atau mengukur waktu yang berlalu antara entri log. Dalam alur kerja DevOps, ini muncul sebagai jendela validitas sertifikat, durasi pembekuan penerapan, dan panjang rotasi on-call. Meskipun sebagian besar bahasa menyediakan pustaka tanggal, kalkulator berbasis browser memberi Anda jawaban instan untuk pemeriksaan cepat tanpa menulis kode, menginstal dependensi, atau membuka REPL.
Mengapa Menggunakan Kalkulator Tanggal Ini?
Dapatkan rincian instan waktu antara dua tanggal, dengan hasil dalam beberapa unit sekaligus. Tanpa rumus, tanpa kode, tanpa registrasi.
⚡
Hasil Instan
Pilih dua tanggal dan lihat selisihnya dalam tahun, bulan, minggu, hari, jam, dan menit. Hasil diperbarui saat Anda mengubah salah satu tanggal.
🔒
Mengutamakan Privasi
Semua kalkulasi berjalan di browser Anda. Tidak ada tanggal yang dikirim ke server mana pun, dan tidak ada yang disimpan atau dicatat.
📅
Berbagai Unit Output
Lihat hasil dalam setiap unit secara bersamaan: total hari, minggu, bulan, dan rincian lengkap tahun-bulan-hari. Tidak perlu mengkonversi antar unit sendiri.
🔢
Tanpa Akun
Gunakan alat ini langsung. Tidak ada login, tidak ada langganan, dan tidak ada batas penggunaan. Tandai halaman ini dan gunakan kapan pun Anda perlu memeriksa tanggal dengan cepat.
Kasus Penggunaan Kalkulator Tanggal
Pengembangan Frontend
Periksa berapa hari hingga tanggal peluncuran fitur, verifikasi logika penghitung mundur, atau uji komponen pemilih tanggal terhadap interval yang diharapkan.
Rekayasa Backend
Validasi jendela kedaluwarsa token, hitung durasi TTL cache, atau verifikasi bahwa interval pekerjaan terjadwal menghasilkan tanggal jalankan berikutnya yang benar.
DevOps & SRE
Ukur jarak antara stempel waktu insiden dalam post-mortem, hitung waktu tunggu kedaluwarsa sertifikat, atau tentukan durasi pembekuan penerapan selama periode liburan.
QA & Pengujian
Buat data uji dengan offset tanggal tertentu, verifikasi logika pembatasan usia dengan menghitung usia tepat dari tanggal lahir, atau konfirmasi bahwa kondisi batas tanggal ditangani dengan benar.
Manajemen Proyek
Hitung durasi sprint, ukur jumlah hari kerja antara tonggak capaian, atau perkirakan jadwal pengiriman dengan menghitung hari kalender dari tanggal mulai.
Mahasiswa & Pembelajaran
Hitung hari hingga ujian, hitung panjang semester, atau verifikasi jawaban tugas untuk latihan aritmatika tanggal dalam mata kuliah ilmu komputer.
Referensi Unit Durasi Tanggal
Kalkulasi selisih tanggal melibatkan unit dengan panjang yang bervariasi. Bulan dan tahun bukan durasi tetap, itulah mengapa pembagian sederhana dari total hari dapat menghasilkan hasil yang tidak akurat. Tabel di bawah mencantumkan setiap unit beserta kisarannya:
Unit
Setara
Catatan
1 year
365 or 366 days
Depends on leap year
1 month
28–31 days
Varies by month
1 week
7 days
Fixed
1 day
24 hours
Fixed (ignoring DST transitions)
1 hour
3,600 seconds
Fixed
1 minute
60 seconds
Fixed
Format Tanggal yang Umum
Saat bekerja dengan tanggal secara terprogram, format menentukan cara string tanggal diurai. Menggunakan format yang salah menyebabkan bug tersembunyi. ISO 8601 adalah pilihan paling aman untuk pertukaran data karena tidak ambigu dan mendukung zona waktu. Tabel di bawah mencantumkan format yang paling sering Anda temui:
Format
Contoh
Digunakan Di
ISO 8601
2026-04-10T14:30:00Z
APIs, databases, logs
RFC 2822
Fri, 10 Apr 2026 14:30:00 +0000
Email headers, HTTP
Unix timestamp
1775831400
Epoch-based systems
US format
04/10/2026
User-facing (US locale)
European format
10.04.2026
User-facing (EU locale)
Short ISO
2026-04-10
HTML date inputs, SQL DATE
Contoh Kode: Menghitung Hari antara Dua Tanggal
Contoh kerja untuk menghitung selisih antara dua tanggal dalam JavaScript, Python, Go, dan baris perintah. Setiap cuplikan menunjukkan kalkulasi total hari dan rincian unit kalender di mana bahasa mendukungnya.
JavaScript
// Calculate days between two dates
const start = new Date('2026-01-15')
const end = new Date('2026-04-10')
const diffMs = end.getTime() - start.getTime()
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24))
console.log(diffDays) // → 85
// Get year, month, day breakdown
function dateDiff(a, b) {
let years = b.getFullYear() - a.getFullYear()
let months = b.getMonth() - a.getMonth()
let days = b.getDate() - a.getDate()
if (days < 0) {
months--
days += new Date(b.getFullYear(), b.getMonth(), 0).getDate()
}
if (months < 0) { years--; months += 12 }
return { years, months, days }
}
console.log(dateDiff(start, end)) // → { years: 0, months: 2, days: 26 }
Python
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta
start = date(2026, 1, 15)
end = date(2026, 4, 10)
# Total days
diff = (end - start).days
print(diff) # → 85
# Year/month/day breakdown (requires python-dateutil)
rd = relativedelta(end, start)
print(f"{rd.years}y {rd.months}m {rd.days}d") # → 0y 2m 26d
# Add 90 days to a date
future = start + timedelta(days=90)
print(future) # → 2026-04-15
# Days between two dates (GNU coreutils)
echo $(( ($(date -d "2026-04-10" +%s) - $(date -d "2026-01-15" +%s)) / 86400 ))
# → 85
# Add 90 days to a date (GNU date)
date -d "2026-01-15 + 90 days" +%Y-%m-%d
# → 2026-04-15
# macOS (BSD date) — add 90 days
date -j -v+90d -f "%Y-%m-%d" "2026-01-15" +%Y-%m-%d
# → 2026-04-15
Pertanyaan yang Sering Diajukan
Bagaimana cara menghitung jumlah hari antara dua tanggal?
Kurangi tanggal yang lebih awal dari tanggal yang lebih akhir untuk mendapatkan selisih dalam milidetik (atau tipe durasi asli bahasa Anda), lalu bagi dengan jumlah milidetik dalam sehari (86.400.000). Ini memberikan total hari yang telah berlalu. Untuk rincian kalender menjadi tahun, bulan, dan hari yang tersisa, Anda perlu melewati setiap unit secara individual karena bulan memiliki panjang yang bervariasi.
Apakah selisih tanggal mencakup tanggal mulai atau tanggal selesai?
Secara konvensi, selisih tanggal menghitung hari antara dua tanggal, tidak termasuk tanggal mulai atau selesai. Jika Anda memilih 1 Januari dan 2 Januari, hasilnya adalah 1 hari. Jika kasus penggunaan Anda memerlukan penghitungan inklusif (kedua titik ujung disertakan), tambahkan 1 pada hasilnya. Alat ini mengikuti konvensi akhir eksklusif yang digunakan oleh sebagian besar bahasa pemrograman.
Bagaimana tahun kabisat ditangani dalam kalkulasi tanggal?
Tahun kabisat menambahkan 29 Februari, menjadikan tahun 366 hari bukan 365. Aturan tahun kabisat Gregorian adalah: habis dibagi 4, kecuali abad, yang juga harus habis dibagi 400. Jadi 2024 dan 2028 adalah tahun kabisat, 1900 bukan, dan 2000 adalah. Algoritma selisih tanggal yang bekerja dengan unit kalender (tahun/bulan/hari) menangani ini secara otomatis. Algoritma yang mengkonversi ke total hari harus memperhitungkan hari ekstra ketika rentang mencakup 29 Februari.
Apa perbedaan antara hari kalender dan hari kerja?
Hari kalender menghitung setiap hari termasuk akhir pekan dan hari libur. Hari kerja (juga disebut hari kerja) tidak termasuk Sabtu, Minggu, dan hari libur umum. Alat ini menghitung hari kalender. Untuk mengkonversi ke perkiraan hari kerja, kalikan total hari kalender dengan 5/7. Untuk jumlah hari kerja yang tepat, Anda juga memerlukan kalender hari libur untuk yurisdiksi yang relevan.
Bisakah saya menghitung tanggal di masa depan dengan menambahkan hari ke tanggal mulai?
Ya. Dalam JavaScript, buat objek Date dan panggil setDate(getDate() + n). Dalam Python, tambahkan timedelta(days=n) ke objek tanggal. Dalam Go, gunakan time.AddDate(0, 0, n). Alat ini berfokus pada selisih antara dua tanggal yang diketahui, tetapi Anda dapat menggunakannya untuk memverifikasi aritmatika Anda: masukkan tanggal mulai dan tanggal hasil yang diharapkan, dan konfirmasi bahwa output total hari sesuai dengan offset yang Anda tambahkan.
Mengapa alat yang berbeda memberikan hasil yang berbeda untuk bulan antara tanggal?
Kalkulasi bulan ambigu karena bulan memiliki panjang yang berbeda. Pertimbangkan 31 Januari hingga 28 Februari: apakah itu 1 bulan atau 0 bulan dan 28 hari? Pustaka yang berbeda membuat pilihan yang berbeda. Konvensi yang paling umum (digunakan oleh dateutil Python, Period Java, dan alat ini) menghitung satu bulan penuh sebagai mencapai hari-dalam-bulan yang sama atau hari valid terakhir dari bulan yang lebih pendek. Selalu periksa konvensi mana yang digunakan pustaka Anda saat membandingkan hasil.
Apakah kalkulasi tanggal dipengaruhi oleh zona waktu?
Ketika Anda memilih tanggal tanpa komponen waktu (hanya tahun-bulan-hari), kalkulasi tidak bergantung pada zona waktu karena beroperasi pada tanggal kalender, bukan titik waktu tertentu. Jika Anda perlu menghitung selisih antara dua momen tertentu (termasuk waktu dan zona waktu), Anda harus bekerja dengan stempel waktu ISO 8601 lengkap dan mengkonversi keduanya ke UTC sebelum mengurangi. Alat ini beroperasi hanya pada tanggal kalender.