İçeriğe geç

Yaş Hesaplayıcısı — Tam Yaş Yıl, Ay ve Gün Cinsinden

Ücretsiz yaş hesaplayıcısı: doğum tarihinizi girin ve tam yaşınızı yıl, ay ve gün cinsinden alın, ayrıca toplam haftalar, günler, saatler ve sonraki doğum gününüzü öğrenin.

Yaş Hesaplayıcısı

Tam yaş
36 yıl 7 ay 26 gün

Doğduğunuz bir Monday

Sonraki doğum günü: 127 gün uzakta (37 yaşına dönüyor)

Yaşınız diğer birimlerle

Aylar
439
Haftalar
1,912
Günler
13,387
Saatler
321,288
Dakikalar
19,277,280
Saniyeler
1,156,636,800

Yaşam ilerlemesi

Yaşınız, örneğin 80 yıllık bir yaşam dönemine karşı.

Yaş görselleştirmesi3636 / 80 yıl080
Yükleme hesaplayıcısı...
📚

Belgeler

Yaş hesaplayıcı nedir?

Yaş hesaplayıcı, iki tarih arasındaki kesin süreyi bulur: doğum tarihi ve genellikle bugün olan hedef tarih. Sonucu yıl, ay ve gün olarak; ayrıca ay, hafta, gün, saat, dakika ve saniye cinsinden toplam süre olarak verir. Yaş, geçmişteki veya gelecekteki bir tarih için de hesaplanabilir; bu, kişinin o gün kaç yaşında olduğunu veya kaç yaşında olacağını gösterir.

Yaş nasıl hesaplanır?

Yaş, iki takvim tarihi arasındaki farktır. Bu farkı açıklamanın iki doğru yolu vardır ve her ikisi de farklı amaçlar için kullanışlıdır.

Takvim yaşı (yıl, ay, gün)

Bu, insanların yaşlarını günlük hayatta ifade etme biçimidir; örneğin “33 yıl, 4 ay ve 5 günlük.” Üç adımda bulunur:

  1. Doğum tarihinden bu yana geçen tam yılları sayın.

  2. Son doğum gününden bu yana geçen tam ayları sayın.

  3. Ardından kalan günleri sayın.

  4. adım, ayın sonlarına doğru zorlaşır; çünkü ayların gün sayıları aynı değildir. Yaşı 1 Mart tarihinde hesaplanan ve 31 Ocak'ta doğan biri 1 aylık ve 1 günlük olur. 31 Ocak'tan bir ay sonrası, 28 Şubat'tır (artık yılda 29 Şubat); çünkü 31 Şubat yoktur. 1 Mart bundan bir gün sonradır. Bazen bu yönteme, onu yaygınlaştıran Python kütüphanesinden sonra relativedelta kuralı denir; yöntem, gün sayısının negatif olmaması için yıl dönümü tarihini daha kısa ayın son gününe çeker.

Geçen toplam süre (gün, saat, saniye)

Yaşanmış sürenin kesin olarak hesaplanması için her iki tarih de zaman içinde tek bir noktaya dönüştürülür ve fark tam gün cinsinden alınır:

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

d tam gün sayısı, t hedef tarih ve b doğum tarihi olmak üzere her biri milisaniye cinsinden alınır; bölen ise bir gündeki milisaniye sayısıdır.

Çıkarma işleminden önce her iki tarih de UTC (Eşgüdümlü Evrensel Zaman) gece yarısına ayarlanır. Bu, yaz saati uygulamasındaki değişikliklerin bir saat ekleyerek veya çıkararak gün sayısını saptırmasını önler. Toplam gün sayısından haftalar, gün sayısının 7'ye bölünüp aşağı yuvarlanmasıyla bulunur. Saat, dakika ve saniye ise gün sayısının sırasıyla 24, 1.440 ve 86.400 ile çarpılmasıyla hesaplanır.

Toplam gün sayısının 365 veya 365,25'e bölünmesi, yıl cinsinden yaklaşık bir yaş verir; ancak bu süre içindeki hangi yılların artık yıl olduğunu hesaba katmaz. Yukarıda açıklanan takvim hesabı kesindir. “Kaç yaşındayım?” sorusunu yanıtlamak için takvim yaşını kullanın. İlaç dozlarının zamanlaması veya bir dönüm noktasına geri sayım gibi, geçen sürenin kesin olmasını gerektiren işlemler için toplam gün ya da hafta sayısını kullanın.

Çözümlü örnek

Yaşı 1 Ocak 2020 tarihinde hesaplanan, 1 Ocak 2000 doğumlu bir kişi için:

ÖlçütDeğer
Takvim yaşı20 yıl, 0 ay, 0 gün
Toplam ay240
Toplam hafta1.043
Toplam gün7.305
Toplam saat175.320
Toplam dakika10.519.200
Toplam saniye631.152.000
Doğum günüCumartesi

7.305 günlük toplam süre, 20 × 365 güne ve 5 artık gününe eşittir; bu artık günleri 2000, 2004, 2008, 2012 ve 2016 yıllarına aittir. Bu yılların her biri, 20 yıllık dönemin içine giren bir 29 Şubat günü eklemiştir. Bu nedenle gün sayısı basitçe 20 × 365 işleminden daha yüksektir; ayrıca elle hesaplandığında birkaç günlük hata yapmak kolaydır.

Kodda yaş hesaplama formülü

Yukarıdaki takvim yaşı yöntemi çoğu programlama dilinde uygulanabilir. Artık yıl ve ay uzunluğu kurallarını elle yazmaktansa yerleşik bir tarih kütüphanesi kullanmak daha güvenlidir.

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, "md" bağımsız değişkeninin ay sınırlarına yakın tarihlerde negatif veya yanlış bir sayı döndürebileceği konusunda uyarır; bu nedenle bu formülün kalan günler bölümü yukarıdaki günleri ayın son gününe çekme kuralıyla her zaman uyuşmaz.

Sık sorulan sorular

Kesin yaşımı nasıl bulurum? Bir doğum tarihi girin ve hedef tarihi bugün olarak bırakın. Sonuç, yaşı yıl, ay ve gün cinsinden; ayrıca aynı yaşı toplam gün, hafta, saat ve saniye cinsinden verir.

İki yaş hesaplayıcı neden farklı sonuçlar veriyor? Fark genellikle ay sınırına yakın tarihlerde kalan günlerin nasıl sayıldığıyla ilgilidir. Ay sonunda tarihi daha kısa ayın son gününe çeken bir hesaplayıcı, yukarıda açıklandığı gibi, geçen süreyi yalnızca 30'a bölen bir hesaplayıcıdan bir veya iki gün farklı sonuç verebilir.

Hesaplamada artık yıllar dikkate alınıyor mu? Evet. Toplam gün sayısına iki tarih arasına denk gelen her 29 Şubat dahildir. 29 Şubat bulunmayan bir yılda, artık gününde doğan kişinin doğum günü o ayın son günü olan 28 Şubat olarak sayılır. 29 Şubat 1996 tarihinde doğan biri, 20 Şubat 2023 tarihinde 26 yıl, 11 ay ve 22 günlük olur; bir sonraki doğum günü 8 gün sonra, 28 Şubat 2023 tarihinde gerçekleşir.

Yaş geçmişteki veya gelecekteki bir tarih için hesaplanabilir mi? Evet. Hedef tarihi gelecekteki bir tarihe ayarlamak, kişinin o gün kaç yaşında olacağını gösterir. Geçmişteki bir tarihe ayarlamak ise o tarihte kaç yaşında olduğunu gösterir. Doğum tarihi gelecekte olamaz ve hedef tarih doğum tarihinden önce olamaz.

Saat dilimleri sonucu etkiler mi? Hayır. Gün sayısı hesaplanmadan önce her iki tarih de UTC gece yarısına dönüştürülür; bu nedenle toplam, kullanıcının konumundan veya yaz saati uygulamasındaki değişikliklerden bağımsız olarak aynı kalır.

Gün sayısı, günleri 365,25'e bölmekten neden farklıdır? 365,25 yalnızca ortalama yıl uzunluğudur; bu süre içindeki belirli yılların 366 günlük artık yıllar olduğunu göstermez. İki gerçek takvim tarihi arasındaki tam günleri saymak kesindir.

Kaynaklar

  1. Python dateutil — Yukarıda açıklanan takvim yaşı ay/gün kuralı: relativedelta.
  2. Java Platformu — Period.between ve ChronoUnit.DAYS.
  3. Microsoft Excel — DATEDIF işlevi.
  4. MDN Web Belgeleri — Date.
  5. Dershowitz, N. ve Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.