AdminGuide
BETA

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.



Bunlar da ilginizi çekebilir...

 



193 defa okunmuş.
Etiketler : substract,timespan,datetime metodları,datetime method,saat farkı hesaplama,DateTime.AddDays,AddHours
Serdar Kardan

Serdar Kardan

(25.8.1975) - Web Tasarım, Programlama

 
RSS

e-Posta Aboneliği

Delivered by FeedBurner

 

En çok Okunanlar
- Windows 7 Geçici Profil Açma Sorunu ( 13964 )
- Gizli Sürücü ve Donanımları Kaldırmak ( 9166 )
- c# ile windows tabanlı program geliştirme ( 9128 )
- Domain Ortamında Saat Senkronizasyonu Problemi ( 6927 )
- Unutulan SQL SA Şifresini Değiştirme ( 5755 )