Bolu Beyi tarafından yazıldı Aralık - 9 - 2013 0 Yorum

TimeSpanBu yazımda, masaüstü veya web uygulamalarında kullanabileceğimiz kullanışlı bir nesneden bahsedeceğim. Uygulamalarımızda tarih bilgilerini sıklıkla kullanmaktayız. İki tarih arasındaki farkı (gün,ay veya yıl olarak..) bulmak için de birçok yol mevcut, fakat C#’ın bize hazır sunduğu “TimeSpan” nesnesini kullanmak bize kolaylık sağlayacaktır. Kullanımı şu şekildedir:

Datetime tarih1, tarih2;

int GunFarki;

TimeSpan fark = tarih2-tarih1;

GunFarki=fark.Days;

Görüldüğü gibi kullanımı oldukça basit. Bu farkı istersek dakika, saat vb. türlerde de alabiliriz. Veritabanı bağlantısıyla kullandığım ufak bir örneği paylaşıyorum:

private void BtnFarkBul_Click(object sender, EventArgs e)
{
int SaatFark = 0, DakikaFark = 0;
veritabani vr = new veritabani();
griddoldur(“select * from tblAna where Kayit_tarihi between ’01-12-2013′ and ’05-12-2013′”);
int bid, GunFarki;
for (int i = 0; i < (dataGridView1.Rows.Count – 1); i++) {
bid = int.Parse(dataGridView1.Rows[i].Cells[0].Value.ToString());
string KalkisTarih = dataGridView1.Rows[i].Cells[25].Value.ToString();
string KalkisSaat = dataGridView1.Rows[i].Cells[26].Value.ToString();
string VarisTarih = dataGridView1.Rows[i].Cells[39].Value.ToString();
string VarisSaat = dataGridView1.Rows[i].Cells[40].Value.ToString();if (KalkisTarih != “” && VarisTarih != “” && VarisSaat.ToString().Length==5 && KalkisSaat.ToString().Length==5)
{
TimeSpan gf = Convert.ToDateTime(dataGridView1.Rows[i].Cells[39].Value.ToString()) – Convert.ToDateTime(dataGridView1.Rows[i].Cells[25].Value.ToString());
GunFarki = gf.Days;TimeSpan sf = Convert.ToDateTime(dataGridView1.Rows[i].Cells[40].Value.ToString()) – Convert.ToDateTime(dataGridView1.Rows[i].Cells[26].Value.ToString());
SaatFark = sf.Hours;TimeSpan df = Convert.ToDateTime(dataGridView1.Rows[i].Cells[40].Value.ToString()) – Convert.ToDateTime(dataGridView1.Rows[i].Cells[26].Value.ToString());
DakikaFark = df.Minutes;
if (DakikaFark < 0)
{
DakikaFark += 60;
SaatFark -= 1;
}
SaatFark += GunFarki * 24;if (DakikaFark.ToString().Length == 1 && SaatFark.ToString().Length == 1)
vr.sorgula(“update tblAna set Gercek_seyir_sure =” + “‘0” + SaatFark.ToString() + “:0” + DakikaFark.ToString() + “‘ where ID=” + bid);
else if (DakikaFark.ToString().Length == 2 && SaatFark.ToString().Length >= 2)
vr.sorgula(“update tblAna set Gercek_seyir_sure ='” + SaatFark.ToString() + “:” + DakikaFark.ToString() + “‘ where ID=” + bid);
else if (DakikaFark.ToString().Length == 1 && SaatFark.ToString().Length >= 2)
vr.sorgula(“update tblAna set Gercek_seyir_sure ='” + SaatFark.ToString() + “:0” + DakikaFark.ToString() + “‘ where ID=” + bid);
else if (DakikaFark.ToString().Length == 2 && SaatFark.ToString().Length == 1)
vr.sorgula(“update tblAna set Gercek_seyir_sure =” + “‘0” + SaatFark.ToString() + “:” + DakikaFark.ToString() + “‘ where ID=” + bid);
}
}
griddoldur(“select * from tblAna where Kayit_tarihi between ’01-12-2013’ and ’05-12-2013′”);
}

Time limit is exhausted. Please reload CAPTCHA.