DateTime, c# programlama dilinde tarih ve saat bilgilerini tutabilmemizi ve üzerinde işlemler yapabilmemizi sağlar.
Örnek 1: 23 Nisan 1923 tarihini yeni bir DateTime değişkeni olarak oluşturalım. Yeni bir DateTime nesnesi oluşturmak için kullanabileceğimiz 12 adet constructor mevcut, bizim tercihimiz ise yıl, ay ve gün ile oluşturulabilen constructor olacak. Sonra da oluşturduğumuz tarihi yazdıralım.
DateTime tarih = new DateTime(1923, 4, 23);
System.Console.WriteLine(tarih); // 4/23/1923 12:00:00 AM
Örnek 2: Bugünün tarihi ile yeni bir DateTime oluşturalım ve yazdıralım (çıktıda zamanın doğru olmadığına dikkat edin)
System.Console.WriteLine(DateTime.Today); // 5/18/2021 12:00:00 AM
Örnek 3: Bugünün tarihini ve o andaki saati yeni bir DateTime ile oluşturalım ve yazdıralım.
System.Console.WriteLine(DateTime.Now); // 5/18/2021 02:33:22 AM
Örnek 4: 2021 artık bir yıl mı kontrol edelim.
if (DateTime.IsLeapYear(2021))
System.Console.WriteLine("2021 artık bir yıldır");
else
System.Console.WriteLine("2021 artık bir yıl değildir");
Çıktı: 2021 artık bir yıl değildir
Örnek 5: Yarının tarihini yazdıralım.
System.Console.WriteLine(DateTime.Today.AddDays(1)); // 5/19/2021 12:00:00 AM
Örnek 6: Bugünün günlerden ne olduğuna bakalım.
System.Console.WriteLine(DateTime.Today.DayOfWeek); //Salı
Örnek 7: Kullanıcıdan tarih almak için bir konsol uygulaması yazalım
DateTime tarih;
System.Console.WriteLine("Lütfen yyyy-aa-gg formatında bir tarih yazın");
string girdi = Console.ReadLine();
if (DateTime.TryParse(girdi, out tarih))
{
System.Console.WriteLine("yazdığınız tarih {0}", tarih);
}
Çıktı:
Lütfen yyyy-aa-gg formatında bir tarih yazın
1923-04-23
yazdığınız tarih 4/23/1923 12:00:00 AM
Örnek 8: iki tarih arasında kaç gün geçtiğini bulmak için 7. örnekteki gibi kullanıcıdan bir tarih alalım ve o tarihten bugüne kadar kaç gün geçtiğini hesaplayalım.
DateTime tarih;
System.Console.WriteLine("Lütfen yyyy-aa-gg formatında bir tarih yazın");
string girdi = Console.ReadLine();
if (DateTime.TryParse(girdi, out tarih))
{
TimeSpan sure = DateTime.Now.Subtract(tarih);
System.Console.WriteLine("Aradaki süre: {0} gündür", sure.Days);
}
Çıktı:
Lütfen yyyy-aa-gg formatında bir tarih yazın
1923-04-23
Aradaki süre: 35820 gündür
Önceki benzer yazılarımdan bazıları için;
bkz: C# ile iki tarih arasında rastgele tarih üretmek
bkz: C# ArrayList elemanlarını tarihe göre sıralamak
bkz: C# ile iki tarih arasında kaç gün olduğunu bulmak
bkz: ASP.NET'te sadece tarihi yazmak (saati silmek)
bkz: C# List içinde arama yapmak
bkz: C# ile ArrayList'ten en küçük sayıyı bulmak