Promotic

DateDiff - funkcja języka VBScript

Opis:
Zwraca ilość przedziałów czasu pomiędzy dwiema datami.
W systemie PROMOTIC dogodniejszym jest zastosowanie metody Pm.DateDiff.
Składnia:
Long DateDiff(String timeSpan, Date date1, Date date2, [Integer firstdayofweek], [Integer firstweekofyear])
Parametry:
timeSpan(String) Określa typ przedziału czasu zastosowany do obliczenia różnicy pomiędzy date1 oraz date2
"yyyy" - rok
"q" - kwartał
"m" - miesiąc
"y" - dzień w roku
"d" - dzień
"w" - dzień w tygodniu
"ww" - tydzień w roku
"h" - godzina
"n" - minuta
"s" - sekunda
date1(Date) Pierwsza data do obliczenia
date2(Date) Druga data do obliczenia
firstdayofweek[opcjonalne] (Integer) Określa pierwszy dzień w tygodniu.
Jeżeli nie jest ustawione, wtedy domyślnie jest ustawiona na Niedziela (patrz Stałe VBScript daty i czasu).
Parametr ten wpływa na obliczenia, które stosują oznaczenia przedziału "w" oraz "ww".
firstweekofyear[opcjonalne] (Integer) Określa pierwszy tydzień w roku.
Jeżeli nie jest ustawione, wtedy za pierwszy tydzień w roku jest uważany tydzień, w którym było 1. stycznia (patrz Stałe VBScript daty i czasu).
Notatka:
Do stwierdzenia ilości dni pomiędzy date1 oraz date2 można zastosować dzień w roku ("y") i dzień ("d").

Jeżeli przedziałem jest dzień w tygodniu ("w"), wtedy funkcja zwraca ilość tygodni pomiędzy dwoma datami. Jeżeli date1 przypada na Poniedziałek, wtedy funkcja oblicza ilość poniedziałków do date2. Do ilości jest zaliczany date2, natomiast date1 nie. Jeżeli jednak przedziałem jest tydzień ("ww"), wtedy funkcja zwraca ilość kalendarzowych tygodni pomiędzy dwoma datami. Funkcja liczy ilość niedziel pomiędzy date1 oraz date2. Do wyniku jest zaliczana date2, jeżeli przypada na niedzielę, lecz date1 nie jest zaliczana nawet jeżeli przypada na niedzielę.

Jeżeli jest date1 > date2, wtedy funkcja zwraca liczbę ujemną.

Jeżeli date1 lub date2 są przedstawiane za pomocą znaków daty, wtedy określony rok zostaje nieodłączną częścią danej daty. Jeżeli date1 lub date2 są zamknięte w cudzysłowiu i rok nie jest określony, wtedy w skrypcie jest wkładany bieżący rok podczas każdego obliczenia wyrażenia. W ten sposób można pisać skrypty, które można stosować w różnych latach.

Podczas porównania 31.12. i 1.1. następującego roku funkcja w przypadku roku ("yyyy") zwraca 1, nawet jeżeli upłynął tylko jeden jedyny dzień.
Przykład:
Stwierdzi ilość dni pomiędzy wprowadzoną datą tDate i dniem dzisiejszym
VBScriptWybierz oraz skopiuj do schowka

Dim s
s = "Ilość dni od dnia dzisiejszego: " & DateDiff("d", Now(), tDate)
© MICROSYS, spol. s r.o.