PoprzedniaWyżejGłównaSpis treściIndex hasełOpis VBBokGora
BokGora

Google
 

Funkcja DateDiff


Funkcja DateDiff zwraca wartość typu Variant(Long) określającą liczbę wybranych przedziałów czasowych pomiędzy dwoma podanymi datami.

Składnia funkcji DateDiff:

DateDiff(TypOkresu, Data1, Data2 [,PierwszyDzieńTygodnia [, PierwszyTydzieńRoku]]

Argumenty funkcji DateDiff:
TypOkresu - (wymagane) wyrażenie tekstowe określające rodzaj dodawanego przedziału czasu,
Data1, Data2 - (wymagane) wyrażenia typu Variant(Date), daty wykorzystywane do obliczeń,
PierwszyDzieńTygodnia - (opcjonalnie) Stała określająca pierwszy dzień tygodnia, jeżeli nie zostanie określona przyjmowana jest Niedziela,
PierwszyTydzieńRoku - (opcjonalnie) Stała określająca pierwszy tydzień roku. Jeżeli nie zostanie określona przyjmowany jest tydzień w którym występuje 1 stycznia.

Dostępne wartości określające TypOkresu:
Wartość Opis
yyyy Rok
q Kwartał
m Miesiąc
y Dzień roku
d Dzień
w Dzień tygodnia
ww Tydzień
h Godzina
n Minuta
s Sekunda

Dostępne wartości określające PierwszyDzieńTygodnia:
Stała Wartość Opis
vbUseSystem 0 Użyj ustawień NLS API
vbSunday 1 Niedziela (domyślna)
vbMonday 2 Poniedziałek
vbTuesday 3 Wtorek
vbWednesday 4 Środa
vbThursday 5 Czwartek
vbFriday 6 Piątek
vbSaturday 7 Sobota

Dostępne wartości określające PierwszyTydzieńRoku:
Stała Wartość Opis
vbUseSystem 0 Użyj ustawień NLS API
vbFirstJan 1 Tydzień zawierający 1 stycznia (domyślnie)
vbFirstFourDays 2 Pierwszy tydzień, w którym są co najmniej 4 dni nowego roku
vbFirstFullWeek 2 Pierwszy pełny tydzień nowego roku.

Funkcja DateDiff pozwala określić liczbę jednostek wybranego TypuOkresu występującą pomiędzy dwoma podanymi datami. Np. używając funkcji DateDiff można obliczyć liczbę dni pomiędzy dwoma datami lub liczbę tygodni pozostałych do końca roku.

Aby policzyć liczbę dni pomiędzy dwoma datami: data1 i data2, należy użyć wartości Dzień roku ("y") lub dzień ("d"), dla określenia TypuOkresu.
Jeżeli TypOkresu jest ustawiony na Dzień tygodnia ("w"), funkcja DateDiff zwróci liczbę tygodni pomiędzy podanymi dwoma datami. Jeżeli data1 wypadnie w poniedziałek, funkcja DateDiff policzy liczbę poniedziałków do daty2. Data2 zostanie doliczona, a data1 nie.
Jeżeli TypOkresu jest ustawiony na Tydzień ("ww") to funkcja DateDiff zwróci liczbę kalendarzowych tygodni pomiędzy dwoma datami. Zostanie policzona liczba niedziel pomiędzy datą1 i datą2. Data2 zostanie doliczona, jeżeli wypadnie w niedzielę, natomiast data1 nie zostanie doliczona, nawet jeżeli wypadnie w niedzielę.

Jeżeli data1 odnosi się do czasu późniejszego niż data2 to funkcja DateDiff zwróci wartość ujemną.
Wartość argumentu PierwszyDzieńTygodnia jest uwzględniana przy obliczeniach, jeżeli TypOkresu ma wartość "w" lub "ww".
Jeżeli data1 lub data2 jest literałem, to podany rok staje się stałą częścią dat. Jednak, jeżeli data1 i data2 są zawarte pomiędzy dwoma znakami cudzysłowiu (" ") i zostanie pominięty rok, to bieżący rok jest podstawiany do daty za każdym razem, gdy wyrażenie data1 lub data2 jest obliczane. Pozwala to na tworzenie aplikacji, które mogą być wykorzystywane w różnych latach.

Jeżeli porównywany jest dzień 31 grudnia z 1 stycznia kolejnych lat, funckja DateDiff z TypemOkresu ustawionym na Rok ("yyyy") zwróci wartość 1 chociaż różnica wynosi zaledwie 1 dzień.

Przykład użycia funkcji DateDiff:

Dim datData As Date  'deklaracja zmiennej typu Date
Dim strMsg As String
Dim intMsg As Integer
datData=InputBox("Wprowadź datę")  'okno wprowadzania danych
strMsg="Liczba dni od dziś do podanej daty" & DateDiff("d", Now, datData)  'oblicz różnicę dni między podaną datą i dziś
intMsg=MsgBox(strMsg)  'wyświetl okno z wynikiem

(Zmienne, typy zmiennych, funkcje Now(), InputBox() i MsgBox() zostały opisane w innych częPciach kursu.)

Zmiennej dtaData podstawiana jest pobrana przez funkcję InputBox wartość. Następnie obliczana jest liczba dni pomiędzy pobraną datą i datą dzisiejszą (pobraną przez funkcję Now()). Obliczona liczba dni jest podstawiana do zmiennej tekstowej strMsg i funkcją MsgBox() wyświetlana na ekranie.

na górę strony...


Google
 
Poprzednia | Wyżej | Strona główna | Spis treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełOpis VBBokGora
BokGora