Yazar Ol Yazar Girişi
Yazar Girişi
E-Posta Adresi
Şifre
Şifremi Unuttum
Asp.Net .Net MVC PHP & MySQL C# PhotoShop CSS jQuery AlgoritmA MsSQL Server HTML Ruby
- Kategoriler -
Türkçe
English
German
Tüm Kategoriler
C# iki tarih arasındaki farkı hesaplama

Merhabalar,

Bugün C# ile iki tarih arasındaki toplam gün, toplam saat ve toplam dakika cinsinden hesaplayan bir program yazacağız.

Form nesnemize iki adet dateTimepicker bir buton ve 3 label ekledik. Butonumuzun clik eventine aşağıdaki kodları yazacağız.

DateTime bTarih = Convert.ToDateTime(dateTimePicker1.Text);
DateTime kTarih = Convert.ToDateTime(dateTimePicker2.Text);
TimeSpan Sonuc=bTarih -kTarih;
label1.Text = Sonuc.TotalHours.ToString();
label2.Text = Sonuc.TotalDays.ToString();
label3.Text = Sonuc.TotalMinutes.ToString();

dateTimePicker değerlerini tarih formatına çevirip, TimeSpan türünde Sonuc adında bir değişken oluşturduk ve iki tarih arasındaki farkı Sonuc değişkenine atadık. İki tarih arasındaki toplam saat farkını label1 e, toplam gün farkını label2 ye, toplam dakika farkınıda label3 e aktardık.

Formumuzu çalıştırıp 10 Haziran 2013 ile 05 Şubat 2014 arasındaki farkı hesaplattığımızda aşağıdaki görüntüyü elde etmiş olacağız.

Bu yazımızında sonuna geldik, başka yazıda görüşmek üzere hoşçakalın...

Sosyal Hesabında Paylaş

26097 görüntüleme

Yorumlar
Adınız Soyadınız
Mail Adresiniz
Doğrulama Kodu

oguzhan aktas 13 ay önce yazıldı.

sorcagım soru sql serverde içeriyor

elimde kiralama adında tablom var için teslim aldıgım zaman ve ıade ettiğim zaman adında date tipli kolonlarım var c# form dan 2 adet  var bir kiralama birde iade formum krialama işlemin kiralama tarihi nin aldgım datetime picker objem var ve ıade ederken de ıade tarihi olan datetimepickerım var ben arada geçen zamanı saat cinsinden ulaşmak istiyorum aynı tablo ve farklı formlar.ulaşmak istediğim 2 zaman arasında geçen süre ye ulaşmak istiyorum.

birde datetim picker dan aldıgım bir veriyi, long modla alıyorum , sql server den çektiğimde gün ayn yıl saat cinsin den alabilirmyim

 

Faruk Karaman13 ay önce cevap verdi.

Oğuzhan bey;
form1 de kiraya verme tarihini form2 de geri alma tarihini veritabanına girdiğinizi varsayarak;
form1 de yapmanız gerekenler şöyle:
form1 load kısmına

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "dd:MM:yyyy hh:mm";

yazarak datetimepickerımızın saatide almasını sağlıyoruz.

veritabanına veriyi kaydederken teslim alma zamanına veriyi

Convert.ToDateTime(dateTimePicker1.Value);

olarak kaydediyoruz. teslim alma zamanını hallettik şimdide iade etme zamanında yani form2 dede aynı işlemi yapacağız.
form loadına

dateTimePicker2.Format = DateTimePickerFormat.Custom;
dateTimePicker2.CustomFormat = "dd:MM:yyyy hh:mm";

    yazdıktan sonra veritabanına iade zamanını kayıt için

    Convert.ToDateTime(dateTimePicker1.Value);

    yazıyoruz.

    iki zaman arasındaki saat farkını hesaplamak için de veritabanından verileri çektiğimizde teslim zamanını ve iade zamanını değişkenlere atıyoruz daha sonrada yeni tarihten küçük tarihi çıkartıyoruz.
     

    TimeSpan Sonuc = TeslimTarih - IadeTarih;
    label1.Text =Sonuc.TotalHours.ToString();

    bu şekliyle işinizi görür. "birde datetim picker dan aldıgım bir veriyi, long modla alıyorum , sql server den çektiğimde gün ayn yıl saat cinsin den alabilirmyim" veritabanında tarihleri string olarak tutarsanız veriyi çekme esnasında datetime çevirirseniz problem yaşamazsınız.

    Bildiklerimiz.Net Bildiklerimizi paylaşıyoruz, bilmediklerimizi öğreniyoruz. biz bunları yapıyoruz ya siz...

    © 2020 Bildiklerimiz Tüm hakları saklıdır.
    bir Bildiklerimiz.Net projesidir.