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 selisih waktu yang tepat antara dua tanggal: tanggal lahir dan tanggal target, biasanya hari ini. Hasilnya dinyatakan dalam tahun, bulan, dan hari, serta sebagai total berjalan dalam minggu, hari, jam, menit, dan detik. Usia juga dapat dihitung untuk tanggal di masa lalu atau masa depan, yang menunjukkan berapa usia seseorang pada hari itu, atau nantinya.

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 tidak semua bulan memiliki jumlah hari yang sama. Orang yang lahir pada 31 Januari, yang 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 menurut pustaka Python yang mempopulerkannya, membatasi tanggal ulang tahun pada hari terakhir bulan yang lebih pendek sehingga jumlah hari tidak pernah 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:

hari = floor((tanggal target โˆ’ tanggal lahir) รท 86.400.000 milidetik)

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 hari7.305
Total minggu1.043
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. Setiap tahun tersebut menambahkan 29 Februari yang jatuh dalam rentang 20 tahun itu. Itulah sebabnya jumlah hari lebih tinggi daripada 20 ร— 365 sederhana, dan mengapa menghitungnya 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 tidak merekomendasikan unit "MD" pada DATEDIF. Unit ini dapat menghasilkan angka negatif, nol, atau hasil yang tidak akurat.

Pertanyaan yang sering diajukan

Bagaimana cara mengetahui usia saya secara tepat? Masukkan tanggal lahir dan biarkan tanggal target 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 perhitungan memperhitungkan tahun kabisat? Ya. Total jumlah hari mencakup setiap 29 Februari yang jatuh di antara kedua tanggal, dan tanggal lahir 29 Februari diukur terhadap 28 Februari pada tahun yang bukan tahun kabisat.

Dapatkah usia dihitung untuk tanggal di masa lalu atau masa depan? Ya. Mengatur tanggal target ke tanggal di masa depan menunjukkan berapa usia seseorang pada hari itu. Mengaturnya ke tanggal di masa lalu menunjukkan berapa usia mereka saat itu.

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.

Referensi

  1. Proyek dateutil. relativedelta. Dokumentasi relativedelta dateutil โ€” ketika penambahan satu bulan melewati akhir bulan yang lebih pendek, hari terakhir bulan tersebut yang digunakan.
  2. MDN Web Docs (Mozilla). Date. Referensi Date MDN โ€” tanggal JavaScript adalah hitungan milidetik sejak 1 Januari 1970 UTC; ยฑ8,64 ร— 10ยนโต ms sama dengan ยฑ100.000.000 hari, jadi satu hari adalah 86.400.000 ms.
  3. U.S. Naval Observatory. Leap Years. FAQ tahun kabisat USNO โ€” tahun yang habis dibagi 4 adalah tahun kabisat, kecuali tahun abad yang tidak habis dibagi 400; 2000 adalah tahun kabisat.
  4. Microsoft. DATEDIF function. Microsoft Support: DATEDIF โ€” unit "Y", "YM", dan "MD", serta keterbatasan "MD" yang sudah diketahui.