DTDTDifS 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 beş (5) 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ındaki ilave saniye sayısı.

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

Kullanım Şekli


Değişken = Document.DTDTDifS( 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, 5 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 beşinci (5.) elemanın değeri boşluk olarak geri döner.

DTDTDifD fonksiyonundan farkı, saniyeleri de dikkate almaktadır.

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

Örnek


Sub Makro1()

       ZamanFarki = Doc.DTDTDifS("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 : Saniye farkı = " & ZamanFarki(3)

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

        Doc.MsgBox Mesaj

End Sub



Yukardaki örneğin sonucunda, hesaplanan zaman farkının elemanları aşağıdaki mesaj kutusu gösterilmiştir. Beşinci eleman (“4” nolu seçenek) sadece ilave saat farkını “hh:mm:ss” 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