C# Yaş Hesaplama (Ay Ve Gün Kontrollü)
-
Elimdeki mevcut yaş hesaplama c# kodu;
DateTime ilkdeger = dogumTarihi.Value;
DateTime sondeger = sucTarihi.Value;
System.TimeSpan zaman;
zaman = sondeger.Subtract(ilkdeger); //(sucYas = suç tarihi itibariyle yaşı)
int sucYas = Convert.ToInt32(zaman.Days/365); //Güne çevirip hesapladığı için artık günleri sayıyor
label9.Text = sondeger.ToString(); //ay yıl olarak fark almıyor.
Bu kod ile yaş hesaplıyor ancak benim tam olarak istediğim şekilde hesaplama yapmıyor.
Örneğin 22 Mayıs 2000 tarihinde doğan bir kişi 2013 yılının mayıs 21 ile mayıs 23 arasındaki tarihlerde yaşı farklı olacaktır. yıl itibariyle değil de gün ve ay'ı da dikkate alması gerekiyor. Internette ve forumda buna uygun kod bulamadım.
-
zaman.getYears gibi bir sey olmasi lazim hocam. ona bir bak istersen.
-
4 yılda bir 1 yıl 366 gün oluyor /365 yaparsan hatalı çıkar
-
DateTime ilkdeger = dogumTarihi.Value;
DateTime sondeger = sucTarihi.Value;
int sucYas;
if (ilkdeger.DayOfYear <= sondeger.DayOfYear)
{
sucYas = (sondeger.Year-ilkdeger.Year);
}
else
{
sucYas = (sondeger.Year-ilkdeger.Year - 1);
}bu kodda şubatın 29 çektiği yılları +- eşitlemen gerekli dayofyear aldıktan sonra.
KodlayanAdam tarafından 29/Oca/13 11:23 tarihinde düzenlenmiştir
kendi yazığın kodda ise /365 yerine /365.25 yapmalısın.
