DTDTDifD Fonksiyonu

Tanım


Verilen iki tarih ve iki saat arasındaki, zaman farkını hesaplar. Hesaplama işleminde; ikinci parametrelerden, birinci parametreler çıkartılır. Pozitif bir işlemde; küçük zaman birinci parametrelere, büyük zaman ise ikinci parametrelere yazılmalıdır.


Hesaplama sonucu, içerisinde dört (4) farklı bilgi olan bir array (katar dizisi) geri dönülür. Bu arrayın elemanları ve tutttukları bilgiler ise şu şekildedir:

0 : Hesaplanan zaman farkındaki gün sayısı.

1 : Hesaplanan zaman farkındaki ilave saat sayısı.

2 : Hesaplanan zaman farkındaki ilave dakika sayısı.

3 : Hesaplanan zaman farkının ilave zamanın “hh:dd” şeklinde formatlanmış hali. Hesaplamada gün farkları dikkate alınmaz. Sadece saat ve dakika farkları dikkate alınarak hesaplanan fark, formatlı olarak gösterilir.

Kullanım Şekli


Değişken = Document.DTDTDifD( BaşlangıçTarihi, BaşlangıçSaati, BitişTarihi, BitişSaati)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

BaşlangıçTarihi

Zaman farkı işleminde, çıkan tarih. Tarih formatında girilmelidir.

BaşlangıçSaati

Zaman farkı işleminde, çıkan saat. Saat formatında girilmelidir.

BitişTarihi

Zaman farkı işleminde, eksilen tarih. Tarih formatında girilmelidir.

BitişSaati

Zaman farkı işleminde, eksilen saat. Saat formatında girilmelidir.

Geri Dönen Değerler


Verilen iki tarih ve iki saat arasındaki farkı hesaplayıp, 4 elemanlık bir array (dizi) döner. Tanım kısmında bu arrayın geri dönen elemanları anlatılmıştır. Array olarak tanımlanmış bir değişkene atanmalıdır.

Hatırlatmalar

Eğer hesaplanan zaman farkı, negatif ise geri dönüşteki dördüncü (4.) ele manın değeri boşluk olarak geri döner.

DTDTDifS fonksiyonundan farkı, saniyeleri dikkate almamaktadır.

Atanan değişken, Array olarak kullanılmadığı durumlarda hata üretir.

Örnek


Sub Makro1()

       ZamanFarki = Doc.DTDTDifD("2017/03/05","19:31:35","2017/03/10","18:35")

       Mesaj = "2017/05/05 19:31:25 zamanı ile 201/03/10 18:35 zamanı arasında"

       Mesaj = Mesaj & chr(13) & "hesaplanan zaman farkı elemanları ve sonuçları : "

       Mesaj = Mesaj & chr(13) & "0 : Gün farkı = " & ZamanFarki(0)

       Mesaj = Mesaj & chr(13) & "1 : Saat farkı = " & ZamanFarki(1)

       Mesaj = Mesaj & chr(13) & "2 : Dakika farkı = " & ZamanFarki(2)

       Mesaj = Mesaj & chr(13) & "3 : Formatlı zaman farkı= " & ZamanFarki(3)        

       Doc.MsgBox Mesaj

End Sub



Yukardaki örneğin sonucunda, hesaplanan zaman farkının elemanları aşağıdaki mesaj kutusu gösterilmiştir. Dördüncü eleman (“3” nolu seçenek) sadece ilave saat farkını “hh:mm” formatında göstermektedir. Birinci elemanın (“0” nolu seçenek) 4 günlük değeri, dikkate alınmamıştır.



Paylaşım Makrosu