VB.Net ile İki Tarih Arası Fark Hesaplama

  • 16.28.2015
  • tayyipyetis
  • .Net Framework

Merhaba, bu makalede üzerinde çok araştırma yaptığım ve uzun zamanda bişey bulamadığım en sonunda microsoft'un kendi forum sitesinde doğru çözüme rastladığım bir problemden bahsedeceğim. hani televizyon filmlerinde derler ya "Türk televizyonlarında ilk" diye ben de türk blog'larında ilk diyeyim :) problem çok basit çözümü de hiç tahmin etmediğim kadar basit aslında. İki tarih arası ay veya yıl farkını bulmak. gün, saat, dakika, saniye vs. bilgileri Timespan sınıfı ile zaten bulabiliyoruz bunda problem yok fakat iki tarih arasındaki toplam ay farkına ya da yıl farkına erişmek istediğimizde genel bilinen işlemlerle yapamadığımızı farkediyoruz. yani Datetime sınıflarında böyle bir fonksiyon yok. kişilerin yazdığı özel fonksiyonları internetten bulabilirsiniz ama tek satırlık bir çözüm için onlarca satır yazmak mantıklı değil. aşağıdaki örneği inceleyebilirsiniz.

Dim tarih1 As Date = DateTime.Parse("25/02/2015")
Dim tarih2 As Date = DateTime.Parse("17/08/2017")

Dim yilfarki As Integer = DateAndTime.DateDiff(DateInterval.Year, tarih1 , tarih2)
Dim ayfarki As Integer = DateAndTime.DateDiff(DateInterval.Month, tarih1 , tarih2)
Dim gunfarki As Integer = DateAndTime.DateDiff(DateInterval.Day, tarih1 , tarih2)

Şeklindeki kullanım ile yıl, ay, gün interval'inde fark hesaplamaları yapabilirsiniz. görüldüğü üzere DateAndTime sınfının içindeki DateDiff fonksiyonunu kullanarak bu işi kolayca çözdük. DateDiff fonksiyonunu MSSQL'den hatırlayabilirsiniz kullanımı da aynı zaten. önce interval cinsini ardından da tarihleri veriyoruz. Sınıfı daha detaylı incelerseniz işinize yarayan birçok fonksiyon bulabilirsiniz. Hepinize kolay gelsin. Yorumlarınızı bekliyorum.

Mustafa Tayyip YETİŞ
Yazılım Geliştirme Uzmanı

Yorum Yap

Diğer Makaleler

Etiketler