folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Yaş Hesaplama (Ay Ve Gün Kontrollü)



C# Yaş Hesaplama (Ay Ve Gün Kontrollü)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siplasplas
    siplasplas's avatar
    Kayıt Tarihi: 18/Ekim/2012
    Erkek

    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.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    undefined-01
    undefined-01's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    zaman.getYears gibi bir sey olmasi lazim hocam. ona bir bak istersen.


    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    4 yılda bir 1 yıl 366 gün oluyor /365 yaparsan hatalı çıkar


    Si vis pacem para bellum.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KodlayanAdam
    KodlayanAdam's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek

    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.


    kendi yazığın kodda ise /365 yerine /365.25 yapmalısın.

    KodlayanAdam tarafından 29/Oca/13 11:23 tarihinde düzenlenmiştir

    Hiç savaş görmemiş çocuklarla, hiç barış görüşmemiş çocuklar için adalet farklı anlamlar taşır.
Toplam Hit: 2848 Toplam Mesaj: 4