C# Tarih OADate Dönüşümleri , yazımız ile c sharp eğitimlerimize devam ediyoruz. Bir tarihi double a çevirmeyi ve double olan bir sayıyı tarih türüne dönüştürmeyi anlatacağım. C Sharp Date Değişkenini Sayı Değerine Dönüştürme dersimde bu konudan bahsetmiştim ama sonradan gördüm ki o ders biraz eksik olmuş. Bir takipçim oluşan bu sayı değerini tekrar nasıl tarih yapacağımızı sormuştu. Önceki dersimde bundan bahsetmemiştim. Biraz daha derinlemesine araştırma yapınca geri dönüştürmeyi ve tarihin yanında saat bilgisinin de tutulduğunu gördüm. Bu sebeple bu dersi yazma gereği duydum. Lafı fazla uzatmadan C Sharp Tarih OADate Dönüşümleri dersimize geçelim.
C Sharp Tarih OADate Dönüşümleri
Yukarıda bağlantısını verdiğim derste bir tarih değerini double sayıya convert etmeyi göstermiştim. Bu dersimizde bir tarih değerini saat bilgisi ile birlikte double bir değere dönüştürmeyi ve bu double değeri tekrar bir tarih değerine dönüştürmeyi göstereceğim.
ToOADate (OLE Otomasyon Tarihi);
01.01.1900 00:00:00 günlerin adedini temsil etmektedir… ToOADate, tam kısım yani virgülden önceki kısım günü temsil eder ve ondalık kısım zamanı / saati temsil eder.
DateTime To Double
Aşağıdaki kodlar tarih değerini ondalık sayıya dönüştürür.
DateTime Tarih = new DateTime(2018, 06, 18, 17, 21, 00); // 18.06.2018 17:21:00 double OndalikSayi = Tarih.ToOADate(); // 43.269,7229166667
Double To DateTime
Aşağıdaki kodlar ondalık sayıyı tarih değerine dönüştürür. Yukarıda elde ettiğimiz double değeri kullanıyoruz.
double OndalikSayi = 43269.7229166667; DateTime Tarih = DateTime.FromOADate(OndalikSayi); dateEdit1.EditValue = Tarih; //18.06.2018 17:21:00
01.01.1900 tarihine 43269 gün eklersek mevut tarihi elde ederiz. Yaptığım deneme de 2 günlük bir fark çıktı. 01.01.1900 tarihine yani tarihin başlangıcına 43269 gün eklersek 20.06.2018 tarihini elde ederiz. 43269 – 2 = 43267 gün eklediğimde ise bugün tarihini elde ettik.
C Sharp Tarih OADate Dönüşümleri , yazımızda bu kadar dostlar. Normal yöntemleri kullandığımızda bir sorun görünmüyor. Ancak manuel bir deneme yaptık ve sonucun doğru çıkmadığını gördük.
C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız.
Sağlıcakla ve takipte kalın. ?