C# - Tarih – Zaman Metodları - 2


26.12.2018 / Serdar Kardan


C# - Tarih – Zaman Metodları - 2

Bu bölümde tarih ve zaman değerleri üzerinde ekleme ve çıkarma işlemlerini ele alacağız.

DateTime sınıfını kullanarak tarih ve zaman değerleri üzerinde ekleme ve çıkarma işlemleri yapabiliriz. Bunun için kullanılabilecek metodlar şöyle;
 
.AddDays : Geçerli değere belirtilen kadar gün ekler
.AddMonths : Geçerli değere belirtilen kadar ay değeri ekleme yapar
.AddYears : Geçerli değere belirtilen kadar yıl ekleme yapar
 
Saat değerleri için ise;
 
.AddMilliSeconds : Geçerli değere belirtilen kadar milisaniye ekleme yapar
.AddSeconds : Geçerli değere belirtilen kadar saniye ekleme yapar
.AddMinutes : Geçerli değere belirtilen kadar dakika ekleme yapar
.AddHours : Geçerli değere belirtilen saat değeri kadar ekleme yapar
Bugünün tarih değerine eklemeler yaparak örneklendirmek istersek şöyle bir kod yazabiliriz.
static void Main(string[] args)
{
DateTime tarihDegeri = new DateTime(2018, 12, 26,12,45,00);
DateTime yeniTarihDegeri;

yeniTarihDegeri = tarihDegeri.AddDays(5);

Console.WriteLine("İlk Tarih : " + yeniTarihDegeri + " - Yeni Tarih (5 gün eklenince) :" + yeniTarihDegeri);

Console.ReadKey();
}

 

Bu kod mantığında değeri – olarak verirsek de çıkarma işlemi yapmış oluyoruz. 

yeniTarihDeğeri = tarihDegeri.AddDays(-5)

 

TimeSpan Nesnesi

Tarih ve zaman değerleri üzerinde ekleme çıkarma gibi işlemler yaparken işlem sonucunu TimeSpan türünden bir değişkene aktararak işlem sonucunu birimlere ayrıştırabiliriz yani sonucu gün, saat, dakika, saniye ve milisaniye cinsinden elde edebiliriz.
Örneğin iki tarih arasındaki farkı gün olarak bulan kodu şöyle yazabiliriz;
static void Main(string[] args)
{
DateTime baslangicTarihi = new DateTime(2018, 12, 26,12,45,00);
DateTime bitisTarihi = new DateTime(2018,12,29,18,07,05);

TimeSpan gunFark = bitisTarihi - baslangicTarihi;

Console.WriteLine("Aradaki gün sayısı : " + gunFark.Days);

Console.ReadKey();
}

 

Bu kodun sonucu ise 3 olarak çıkacak…

 
İki tarih arasındaki farkları bulmak için birkaç metodu bir arada örneklemek için aşağıdaki kod bloğunu inceleyebilirsiniz;
private static void Main(string[] args)
{
DateTime baslangicTarihi = new DateTime(2018, 12, 26, 12, 45, 00);
DateTime bitisTarihi = new DateTime(2018, 12, 29, 18, 07, 05);

TimeSpan gunFark = bitisTarihi - baslangicTarihi;

Console.WriteLine("Başlangıç Tarihi : " + baslangicTarihi + " - Bitiş Tarihi : " + bitisTarihi);

Console.WriteLine("Saat değerleri arasındaki fark (Hours) : " + gunFark.Hours);
Console.WriteLine("İki tarih arasında toplam kaç saat geçtiği bilgisi (TotalHours) : " + gunFark.TotalHours);
Console.WriteLine("İki tarih arasındaki gün sayısı olarak fark (Days) : " + gunFark.Days);
Console.WriteLine("İki tarih arasında saat bilgisinide düşünerek geçen toplam gün farkı (TotalDays) : " + gunFark.TotalDays);

TimeSpan farkliYontem= bitisTarihi.Subtract(baslangicTarihi);

Console.WriteLine("Subtract ile fark hesaplama: " + farkliYontem);

Console.ReadKey();
}

 

Çıktısı ise şu şekilde olacaktır;
 
Başlangıç Tarihi : 26.12.2018 12:45:00 - Bitiş Tarihi : 29.12.2018 18:07:05
 
Saat değerleri arasındaki fark (Hours) : 5
İki tarih arasında toplam kaç saat geçtiği bilgisi (TotalHours) : 77,3680555555556
İki tarih arasındaki gün sayısı olarak fark (Days) : 3
İki tarih arasında saat bilgisinide düşünerek geçen toplam gün farkı (TotalDays) : 3,22366898148148
Subtract ile fark hesaplama: 3.05:22:05
 
Burada farkettiyseniz Subtract metodunu kullandık. Bu metodun döndüğü değer de iki tarih arasında gün, saat, dakika ve saniye cinsinden tam farkı veriyor. 
 
Bir sonraki yazıda da karşılaştırma metodlarını inceleyebiliriz.



26.12.2018 - 7781


Etiketler : substract,timespan,datetime metodları,datetime method,saat farkı hesaplama,DateTime.AddDays,AddHours
Leave a Comment:

Bunlar da ilginizi çekebilir
Unutulan SQL SA Şifresini Değiştirme
SQL SA şifresini unuttuysanız, değiştirmek için pratik bir yol var...
Windows 7 Kısayolları
Gündelik kullanımda işinize yarayabilecek birkaç windows 7 kısayolu.
C# - Base64 ile Görseli String e Çevirmek
Base64 Encoding, binary verileri metne dönüştürerek saklamaya yarayan bir tekniktir. Buna en güzel örnek bir fotoğrafın encode edilerek veritabanı içinde saklanması gösterilebilir.
 

En çok Okunanlar



Bumerang - Yazarkafe