En iyi yanıtlayıcılar
Son Dört Rakamı labele yazdırma

Soru
-
arkadaşlar veritabanında bulunan doğum tarihlerinin sadece yıl kısmını almak istiyorum sağdan ilk dört rakamı almam için ne yapmalıyım,
yapmak istediğim kimlik paylaşım sisteminden alınan doğum tarihini bugünün tarihi ile çıkartıp kişinin yaşını datagride yazdırmam bunla ilgili örnek kod verebilirmisiniz?
Ömer ÖRNEK
Yanıtlar
-
Yanlış bir yaklaşım yapıyorsunuz. Madem her iki veri de tarih şu fonksiyonu projene ekleyip kullanabilirsin.
int Years(DateTime start, DateTime end) { return (end.Year - start.Year - 1) + (((end.Month > start.Month) || ((end.Month == start.Month) && (end.Day >= start.Day))) ? 1 : 0); }
Fullstack Developer
- Yanıt Olarak İşaretleyen CetinBasozEditor 5 Eylül 2016 Pazartesi 13:53
-
int yas; DateTime dogum = new DateTime(); TimeSpan fark; dogum = DateTime.Parse(sonuc.Sonuc.DogumTarihi.ToString()); fark = DateTime.Now.Date.Subtract(dogum); yas = Convert.ToInt32(fark.TotalDays); yas = yas / 365; lblYas.Text = yas.ToString();
yukarıdaki şekilde sorunu düzelttim,Ömer ÖRNEK
- Yanıt Olarak İşaretleyen omrornk 5 Eylül 2016 Pazartesi 11:12
Tüm Yanıtlar
-
Yanlış bir yaklaşım yapıyorsunuz. Madem her iki veri de tarih şu fonksiyonu projene ekleyip kullanabilirsin.
int Years(DateTime start, DateTime end) { return (end.Year - start.Year - 1) + (((end.Month > start.Month) || ((end.Month == start.Month) && (end.Day >= start.Day))) ? 1 : 0); }
Fullstack Developer
- Yanıt Olarak İşaretleyen CetinBasozEditor 5 Eylül 2016 Pazartesi 13:53
-
halit bey;
kişinin yaşını hesaplaması gerekiyor örneğin label1 de doğum tarihi : 1.1.1990 şeklinde, label2 de 5.09.2016 şeklide olsun bunları label2 den label bir çıkarılacak kişinin yaşını 26 olarak vermesi gerekmekte, label1 ve label2 son 4 rakamı yazdırabilirsem olay çözülecek
Ömer ÖRNEK
-
-
int yas; DateTime dogum = new DateTime(); TimeSpan fark; dogum = DateTime.Parse(sonuc.Sonuc.DogumTarihi.ToString()); fark = DateTime.Now.Date.Subtract(dogum); yas = Convert.ToInt32(fark.TotalDays); yas = yas / 365; lblYas.Text = yas.ToString();
yukarıdaki şekilde sorunu düzelttim,Ömer ÖRNEK
- Yanıt Olarak İşaretleyen omrornk 5 Eylül 2016 Pazartesi 11:12
-
-
hayır denedim 26 yaşında görünüyor.
int yas; DateTime dogum = new DateTime(); TimeSpan fark; dogum = DateTime.Parse(label1.Text.ToString()); fark = DateTime.Now.Date.Subtract(dogum); yas = Convert.ToInt32(fark.TotalDays); yas = yas / 365; label3.Text = yas.ToString();
Ömer ÖRNEK
-
Akil var mantik var 1/1/1990'dan 365*27 gun sonra yani new DateTime(1990,1,1).AddDays(365*27) = 25 Aralik 2016'da 27 yasinda cikariyor senin yontemin.
Kod senin, sen kullanacaksin ama yine de dikkat et:
- Düzenleyen CetinBasozEditor 6 Eylül 2016 Salı 09:19
-
Hic olmazsa daha guvenilir olan bu "numara"yi kullan:
DateTime dogum; if (DateTime.TryParse(label1.Text, out dogum)) { //var hedef = DateTime.Today; var hedef = new DateTime(2017, 1, 1); var d2 = hedef.Year * 10000 + hedef.Month * 100 + hedef.Day; var d1 = dogum.Year * 10000 + dogum.Month * 100 + dogum.Day; int yas = (int)( d2 - d1 )/10000; label3.Text = yas.ToString(); }
- Düzenleyen CetinBasozEditor 6 Eylül 2016 Salı 09:31
-
-
-
-
Haklısınız ben hata yapmışım düzelttim sizin kodunuz projemde kullanacağım ama siz benim yazdığım kodu sizin söylediğiniz gibi denermisiniz ben denedim yine sonuç normal çıktı yani 01.01.1990 ile 25.12.2016 hesaplamasında benim kodundada 26 çıktı
Ömer ÖRNEK
- Düzenleyen omrornk 7 Eylül 2016 Çarşamba 13:19
-
Haklısınız ben hata yapmışım düzelttim sizin kodunuz projemde kullanacağım ama siz benim yazdığım kodu sizin söylediğiniz gibi denermisiniz ben denedim yine sonuç normal çıktı yani 01.01.1990 ile 25.12.2016 hesaplamasında benim kodundada 26 çıktı
Hayir 26 cikmiyor, denedim ve yukarida resimli verdim zaten. Sen nasil 26 cikarmayi basardin ben de anlayamadim.
Ömer ÖRNEK
- Düzenleyen CetinBasozEditor 7 Eylül 2016 Çarşamba 16:22
-
-
-