Bu 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 escort bahçelievler 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ı bahçelievler escort 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′”);
}
{
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′”);
}