C#’ta tarih ve zaman işlemlerini gerçekleştirmek için DateTime ve TimeSpan sınıfları ve bu sınıfların altında bulunan hazır fonksiyonlar ve özellikler kullanılmaktadır. DateTime tarih ve zaman ile ilgili görevleri gerçekleştirirken, TimeSpan ise iki tarih arasındaki farkla ilgili işlemleri yerine getirmektedir.
Bugünün Tarih ve Saatini Öğrenme
En çok ihtiyaç duyulan verilerden bir tanesi şu anın tarih ve zaman bilgisidir. Şuanın tarih ve zaman verisini form üzerinde ki bir label’da gösterelim.
1 2 |
label1.Text = DateTime.Now.ToString(); label2.Text = DateTime.Today.ToString(); |
Farklı Tarih ve Zaman Değerleriyle Çalışmak
Uygulamalarımızda sadece şuanın tarih ve zaman verisinden farklı olarak hem geçmiş hem de gelecek zamana ait verileri tutmak isteyebiliriz. Bu durumda;
1 |
DateTime dt = new DateTime(2015, 2, 14); |
TimeSpan ile Kaç Gündür Hayatta Olduğumuzu Hesaplayalım.
Form üzerinde ki kontroller yardımıyla doğum tarihimizi girip yaşımızı öğrenebileceğimiz bir uygulamayı TimeSpan sınıfını kullanarak kolaylıkla gerçekleştirebiliriz.
1 2 3 4 5 6 7 8 9 10 |
private void Form1_Load(object sender, EventArgs e) { maskedTextBox1.Mask = "00/00/0000"; } private void Hesapla_Click(object sender, EventArgs e) { DateTime dt = DateTime.Parse(maskedTextBox1.Text); TimeSpan fark = DateTime.Today - dt; lblYas.Text = fark.TotalDays.ToString(); } |
Uygulamaya dikkat ettiyseniz TimeSpan ile iki tarih birbirinden çıkarılmış ve aradaki fark gün cinsinden ekranda gösterilmiştir.
İki tarihin Karşılaştırılması
DateTime.Compare() fonksiyonu ile belirtilen iki tarihin birbire eşit olup olmadığı kontrol edilebilir. Tarihler birbirine eşitse 0 değeri döndürülür.
1 2 3 4 5 6 7 |
DateTime ilkTarih = new DateTime(2015, 1, 7); DateTime sonTarih = new DateTime(2015, 1, 6); int durum = DateTime.Compare(ilkTarih, sonTarih); if (durum == 0) MessageBox.Show("Tarihler Birbiriyle Aynı"); else MessageBox.Show("Tarihler Farklı"); |
Tarih Değerinin Yıl-Ay-Gün Olarak Alınması
Bazen tarihin ay, yıl ve gün değerlerini ayrı ayrı almak isteyebiliriz. Böyle bir durumda;
1 2 3 4 |
DateTime dt = DateTime.Today; int yil = dt.Year; int ay = dt.Month; int gun = dt.Day; |
Sadece Zaman Verisini Alma
Bazı durumlarda uygulamalarımızda sadece saat, dakika ve saniye bilgisine ihtiyaç duyarız.
1 2 |
label1.Text = DateTime.Now.ToShortTimeString(); label2.Text = DateTime.Now.ToString("hh:mm:ss"); |
Saat ve tarih bilgisini farklı şekillerde görüntülemek istersek String.Format() metoduyla farklı şekillerde biçimlendirebilirsiniz.
merhabalar ben bir tane kayıt programı yapıyorum ve orada giriş çıkış saati eklemek istiyorum onu nasıl yababilirim
texbox1.text içine yazdığımız bir tarihe 30 gün ekleyip textbox2 ye nasıl yazdırabiliriz
DateTime tarih = Convert.ToDateTime(label3.Text);
tarih = DateTime.Now.AddDays(7);
MessageBox.Show(tarih.ToShortDateString().ToString());
TextBox2.Text = (Convert.ToDateTime(TextBox1.Text).AddDays(30)).ToString();
c# girilen bir günün ismine göre bulunan yıldaki o güne denk gelen tarihlerin üstelenmesi ni bulan program nasıl yapılabilir anlatırmısınız ?