Lewati ke konten

Kalkulator Usia — Usia Tepat dalam Tahun, Bulan & Hari

Kalkulator usia gratis: masukkan tanggal lahir Anda untuk mendapatkan usia tepat Anda dalam tahun, bulan, dan hari, ditambah total minggu, hari, jam, dan ulang tahun Anda berikutnya.

Kalkulator Usia

Usia yang tepat
36 tahun 7 bulan 26 hari

Anda lahir pada hari Monday

Ulang tahun berikutnya: 127 hari lagi (akan berusia 37)

Usia Anda dalam unit lain

Bulan
439
Minggu
1,912
Hari
13,387
Jam
321,288
Menit
19,277,280
Detik
1,156,636,800

Kemajuan hidup

Usia Anda terhadap rentang referensi 80 tahun yang bersifat ilustratif.

Visualisasi usia3636 / 80 tahun080
Kalkulator pemuatan...
📚

Dokumentasi

Apa itu kalkulator usia?

Kalkulator usia menemukan waktu yang tepat antara dua tanggal: tanggal lahir dan tanggal sasaran, biasanya hari ini. Hasilnya disajikan dalam tahun, bulan, dan hari, serta sebagai total berjalan dalam bulan, minggu, hari, jam, menit, dan detik. Usia juga dapat dihitung untuk tanggal pada masa lalu atau masa depan, yang menunjukkan berapa usia seseorang pada hari tersebut atau berapa usianya kelak.

Cara menghitung usia

Usia adalah selisih antara dua tanggal kalender. Ada dua cara yang benar untuk menyatakan selisih tersebut, dan keduanya berguna untuk tujuan yang berbeda.

Usia kalender (tahun, bulan, hari)

Ini adalah cara sehari-hari orang menyatakan usia, seperti "33 tahun, 4 bulan, dan 5 hari." Usia tersebut diperoleh melalui tiga langkah:

  1. Hitung tahun penuh yang telah berlalu sejak tanggal lahir.
  2. Dari ulang tahun terakhir, hitung bulan penuh yang telah berlalu.
  3. Setelah itu, hitung sisa harinya.

Langkah 3 menjadi rumit menjelang akhir bulan karena jumlah hari dalam setiap bulan berbeda. Seseorang yang lahir pada 31 Januari dan usianya diukur pada 1 Maret berusia 1 bulan dan 1 hari. Satu bulan setelah 31 Januari adalah 28 Februari (atau 29 Februari pada tahun kabisat), karena tidak ada 31 Februari. 1 Maret adalah satu hari setelahnya. Metode ini, yang kadang disebut aturan relativedelta berdasarkan pustaka Python yang memopulerkannya, menetapkan tanggal peringatan pada hari terakhir bulan yang lebih pendek agar hitungan hari tidak pernah menjadi negatif.

Total waktu yang telah berlalu (hari, jam, detik)

Untuk menghitung waktu hidup secara tepat, kedua tanggal diubah menjadi satu titik waktu, lalu selisihnya dihitung dalam hari penuh:

d=⌊t−b86400000⌋d = \left\lfloor \frac{t - b}{86400000} \right\rfloor

dengan d sebagai jumlah hari penuh, t sebagai tanggal target, dan b sebagai tanggal lahir, yang masing-masing dinyatakan sebagai jumlah milidetik, sedangkan pembaginya adalah jumlah milidetik dalam satu hari.

Kedua tanggal ditetapkan ke tengah malam UTC (Waktu Universal Terkoordinasi) sebelum pengurangan dilakukan. Ini mencegah perubahan waktu musim panas menambah atau mengurangi satu jam dan mengacaukan hitungan hari. Dari total hari tersebut, minggu dihitung dengan membagi hari dengan 7 lalu membulatkannya ke bawah. Jam, menit, dan detik diperoleh dengan mengalikan jumlah hari dengan 24, 1.440, dan 86.400.

Membagi total hari dengan 365 atau 365,25 menghasilkan perkiraan usia dalam tahun, tetapi tidak memperhitungkan tahun mana dalam rentang tersebut yang merupakan tahun kabisat. Penghitungan kalender yang dijelaskan di atas bersifat tepat. Gunakan usia kalender untuk menjawab "berapa usia saya." Gunakan total hari atau minggu untuk keperluan yang memerlukan waktu berlalu secara tepat, seperti mengatur waktu pemberian dosis obat atau menghitung mundur menuju suatu pencapaian.

Contoh perhitungan

Seseorang yang lahir pada 1 Januari 2000, dengan usia yang diukur pada 1 Januari 2020:

UkuranNilai
Usia kalender20 tahun, 0 bulan, 0 hari
Total bulan240
Total minggu1.043
Total hari7.305
Total jam175.320
Total menit10.519.200
Total detik631.152.000
Hari lahir dalam mingguSabtu

Total 7.305 hari sama dengan 20 × 365 ditambah 5 hari kabisat, untuk tahun kabisat 2000, 2004, 2008, 2012, dan 2016. Masing-masing tahun tersebut menambahkan satu hari kabisat, yaitu 29 Februari, yang termasuk dalam rentang 20 tahun. Itulah sebabnya hitungan hari lebih besar daripada 20 × 365 sederhana, dan mengapa penghitungan secara manual mudah meleset beberapa hari.

Rumus penghitungan usia dalam kode

Metode usia kalender di atas dapat diterapkan dalam sebagian besar bahasa pemrograman. Menggunakan pustaka tanggal bawaan lebih aman daripada menulis sendiri aturan tahun kabisat dan jumlah hari dalam setiap bulan.

1from dateutil.relativedelta import relativedelta
2from datetime import date
3
4birth, target = date(2000, 1, 1), date(2020, 1, 1)
5
6age = relativedelta(target, birth)     # calendar age
7print(f"{age.years}y {age.months}m {age.days}d")
8
9total_days = (target - birth).days     # total elapsed days
10print(total_days)                      # 7305
11

Microsoft memperingatkan bahwa argumen "md" dapat menghasilkan angka negatif atau hitungan hari yang salah di sekitar batas bulan, sehingga bagian sisa hari dari rumus tersebut tidak selalu sesuai dengan aturan penetapan ke hari terakhir bulan di atas.

Pertanyaan yang sering diajukan

Bagaimana cara mengetahui usia saya secara tepat? Masukkan tanggal lahir dan biarkan tanggal sasaran pada hari ini. Hasilnya menunjukkan usia dalam tahun, bulan, dan hari, serta usia yang sama dalam total hari, minggu, jam, dan detik.

Mengapa dua kalkulator usia memberikan jawaban berbeda? Perbedaannya biasanya terletak pada cara menghitung sisa hari di sekitar batas bulan. Kalkulator yang membatasi tanggal pada bulan yang lebih pendek di akhir bulan, seperti dijelaskan di atas, dapat berbeda satu atau dua hari dari kalkulator yang sekadar membagi waktu yang telah berlalu dengan 30.

Apakah penghitungan memperhitungkan tahun kabisat? Ya. Total hitungan hari mencakup setiap tanggal 29 Februari yang berada di antara kedua tanggal. Pada tahun tanpa tanggal 29 Februari, hari peringatan kelahiran pada hari kabisat dihitung sebagai 28 Februari, yaitu hari terakhir bulan tersebut. Seseorang yang lahir pada 29 Februari 1996 berusia 26 tahun, 11 bulan, dan 22 hari pada 20 Februari 2023, dan ulang tahun berikutnya jatuh 8 hari kemudian, pada 28 Februari 2023.

Apakah usia dapat dihitung untuk tanggal pada masa lalu atau masa depan? Ya. Menetapkan tanggal sasaran ke tanggal masa depan menunjukkan berapa usia seseorang pada hari tersebut. Menetapkannya ke tanggal masa lalu menunjukkan berapa usia mereka saat itu. Tanggal lahir tidak boleh berada di masa depan, dan tanggal sasaran tidak boleh lebih awal daripada tanggal lahir.

Apakah zona waktu memengaruhi hasil? Tidak. Kedua tanggal dikonversi ke tengah malam UTC sebelum hitungan hari dilakukan, sehingga totalnya tetap sama terlepas dari lokasi pengguna atau perubahan waktu musim panas.

Mengapa hitungan hari berbeda dari hasil pembagian hari dengan 365,25? 365,25 hanyalah rata-rata panjang tahun; angka tersebut tidak melacak tahun tertentu dalam rentang itu yang merupakan tahun kabisat dengan 366 hari. Menghitung hari penuh antara dua tanggal kalender nyata bersifat tepat.

Sumber

  1. Python dateutil — relativedelta, aturan bulan/hari usia kalender yang dijelaskan di atas.
  2. Platform Java — Period.between dan ChronoUnit.DAYS.
  3. Microsoft Excel — fungsi DATEDIF.
  4. MDN Web Docs — Date.
  5. Dershowitz, N., & Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.