Ara:

Şu an misafir modundasın. YazılımDevi olmak ister misin? Giriş Yap / Kayıt Ol

Makale Hakkında!

C# ta TimeSpan Yapisi ile Iki Tarih Arasindaki Süreyi Hesaplama Makale Yazarı Okunma Sayısı Eklenme Tarihi
Salih Demiroğ 5756 28.03.2009

Makale Detayı

C# ta TIMESPAN YAPISI ile IKI TARIH ARASINDAKI SÜREYI HESAPLAMA

Merhaba arkadaslar bu makalemizde iki tarih arasindaki süreyi (saat, dakika, saniye vb. cinsinden) nasil hesaplayacagimizi ögrenmis olacagiz. C# ta bunu TimeSpan yapisi ile yapiyoruz.

                Peki bu komut bizim ne isimize yarayacak? Bazi durumlarda 2 tarih arasinda gecen süreyi bulmak isteyebilirsiniz. Ben bunu Ankaran’in ego projesinin benzerini yazarken kullanmistim. Söyle açiklamak gerekirse belediyelerin ulasim araçlarina ilk bindigimizde belirli bir ücret kesiliyor. Ücret kesilen bileti belirli bir süre geçmeden (Bu süre Ankara’da 45 dk, Istanbul’da 90 dk) baska bir araçta kullanirsak aktarma oluyor ve bu durumda biletimizden herhangi bir ücret düsülmüyor. Iste aradaki süreyi hesaplamak için (45 dk 90 dk ne olursa) TimeSpan yapisi isimize çok yarayacaktir.

                Simdi sözü fazla uzatmayalim ve örnek bir uygulamayla konuya açiklik getirelim.

                Girilen iki tarih arasindaki zaman farkini bize dakika cinsinden versin. Daha sonra bunu diger formatlarda nasil kullanacagimizi belirtecegim.

                Ilk olarak formumuza iki adet datetimepicker , bir adette buton sürükleyip birakalim. Form yapimiz, örnegimiz için asagidaki gibi olacak.

Simdi kodlarimizi yazmaya baslayalim. Her zamanki gibi önce kodlari yazip daha sonra açiklamasini yapacagim. Butonun click eventine asagidaki kodlarimizi yaziyoruz…

 

 
private void button1_Click(object sender, EventArgs e) //"Hesapla" Butonu
        {
            DateTime ilkdeger = dateTimePicker1.Value; //1
            DateTime sondeger = dateTimePicker2.Value; //2
           
            System.TimeSpan zaman; //3
            zaman = sondeger.Subtract(ilkdeger); //4
            int toplamdakika = Convert.ToInt32(zaman.TotalMinutes); //5
 
         MessageBox.Show("Iki Tarih Arasindaki Fark "+toplamdakika.ToString()+" Dakikadir");
        }

 

//1  - Ilk olarak datetimepickerlerimizin alacagi degerleri bir degiskene attik. Bu degiskenlerde tarih tutulacagi için degiskenimizi tabiî ki  DateTime olarak tanimladik.

//2  - Ayni islemi diger datetimepicker için yapiyoruz.

//3  -  Artik Time Span yapisini kullanalim. Burada System.TimeSpan zaman ,  adli bir degisken olusturuyoruz. TimeSpan in kullanilis biçimi bu sekildedir.

//4  - Simdi iki tarih arasinda çikarma islemini yapalim ve bunu zaman adli degiskenimize atalim.  Burada sondeger den ilkdeger i çikarttik.

//5  - zaman.TotalMinutes ile iki tarih arasindaki farki dakika cinsinden istedik.. Bize döndürecegi  deger double cinsinden olacagi için ben bunu integera çevirip. Integer türünde bir degiskene atadim ve son olarakta sonucu message box la yazdirdim.    

 

Simdi çalistirip sonucu görelim.

Arada 1 günlük fark var. 1 gün 24 saat, onu da 60 la çarparsak sonuç 1440 olacaktir.

 

TimeSpan yapisi tabiî ki bu kadarla bitmiyor;

·         Istediginiz bir tarihe, fazladan  saat,dakika,yil vs ekleyebilirsiniz.

Not: Ekleyeceginiz dk, sn, saat, yil vs double cinsinden olmalidir.

Örnek:  sondeger.AddDays(2.0);

 

·         Tabi ki sadece toplam dakikayi degil toplam saati veya günü vs alabilirsiniz.

 

Umarim Yararli Olmustur. Iyi Çalismalar…

 

                                                                                              Yazan: Salih DEMIROG


Makale Tagları

Makale Dosyası

Makaleye Ait Dosya Bulunamamıştır

Paylaş


Yazar Hakkında
Genel Bilgiler   Yazar Hakkında
Ad: Salih Demiroğ 1986 doğumlu Salih Demiroğ Gazi Üniversitesi ,Bilgisayar Sistemleri Öğretmenligi alanında lisans egitimini sürdürmektedir.İlk olarak Sistem Mühendisliği alanında eğitim almış olup daha sonra kendisini Yazılım Mühendisliği alanında uzmanlaştırmıştır. Yazarımız .Net alanında bireysel ve kurumsal eğitimler vermiş olup birçok kişisel ve kamu projelerinde görev almıştır. Salih halen İnfopark Ankara'da Yazılım Uzmanı olarak çalışmaktadır.YazilimDevi.Com'un kurucularından olan Salih DEMİROĞ YazilimDevi.Com başta olmak üzere bir çok sitede makale ve video yayını yapmıştır.
Kurum: İnfopark Ankara
Meslek: Yazılım Uzmanı / Eğitmeni
E-Mail: salihdemirog@gmail.com
Web Sitesi: http://www.salihdemirog.com
Makale-Video: 63

Bu makale için yapılmış yorumlar

Bu makale hakkında yorum yapınız!...

Bu makale hakkında yorum yapabilmek için lütfen üye olunuz veya giriş yapınız.

Konular

Yazarlar

Son Eklenen Makaleler

Son Eklenen Videolar

Ziyaretçi İstatistiği

ImageOnline : 10         Bugün : 1377

Bu Ay : 8208        Bu Yıl : 58382

Toplam : 441221

Kullanıcı Giriş Paneli!
E-Mail:
Şifreniz:
Giriş Yap

Şifremi Unuttum!
E-Mail:
    Gönder