Funkce DateDiff

Vrátí hodnotu typu Variant (Long) určující počet časových intervalů mezi dvěma zadanými daty.

Zde naleznete několik příkladů

Syntaxe

DateDiff(interval, datum1, datum2 [, první_den_v_týdnu] [, první_týden_v_roce] )

Syntaxe funkce DateDiff zahrnuje následující Argument:

Argument

Popis

interval

Povinný argument. Řetězcový výraz představující časový interval sloužící k výpočtu rozdílu mezi daty určenými argumenty datum1 a datum2.

datum1 , datum2

Povinné argumenty. Hodnoty typu Variant (Date). Dvě data, která chcete použít při výpočtu.

první_den_v_týdnu

Nepovinný argument. Konstanta, která určuje první den týdne. Pokud není zadána, předpokládá se, že je to neděle.

první_týden_v_roce

Nepovinný argument. Konstanta určující první týden v roce. Pokud není zadána, předpokládá se, že je to týden, do kterého spadá datum 1. ledna.


Nastavení

Nastavení Argumentinterval:

Nastavení

Popis

yyyy

Rok

q

Čtvrtletí

m

Měsíc

y

Den v roce

d

Den

w

Den v týdnu

ww

Týden

h

Hodina

n

Minuta

s

Sekunda


Nastavení argumentu první_den_v_týdnu:

Konstanta

Hodnota

Popis

vbUseSystem

0

Je použito nastavení rozhraní API podpory národního jazykového prostředí.

vbSunday

1

Neděle (výchozí hodnota)

vbMonday

2

Pondělí

vbTuesday

3

Úterý

vbWednesday

4

Středa

vbThursday

5

Čtvrtek

vbFriday

6

Pátek

vbSaturday

7

Sobota

Konstanta

Hodnota

Popis

vbUseSystem

0

Je použito nastavení rozhraní API podpory národního jazykového prostředí.

vbFirstJan1

1

Rok začíná týdnem, do kterého spadá datum 1. ledna (výchozí hodnota).

vbFirstFourDays

2

Rok začíná prvním týdnem, do kterého spadají minimálně čtyři dny nového roku.

vbFirstFullWeek

3

Rok začíná prvním úplným týdnem v daném roce.


Poznámky

Pomocí funkce DateDiff můžete určit počet zadaných časových intervalů mezi dvěma daty. Pomocí funkce DateDiff můžete například vypočítat počet dnů mezi dvěma daty nebo počet týdnů mezi aktuálním datem a koncem roku.

Chcete-li spočítat počet dnů mezi daty určenými argumenty datum1 a datum2, můžete použít nastavení y (Den v roce) nebo d (Den). Jestliže je argument interval nastaven na možnost w (Den v týdnu), vrátí funkce DateDiff počet týdnů mezi dvěma daty. Pokud datum určené argumentem datum1 připadá na pondělí, spočítá funkce DateDiff počet pondělků do data určeného argumentem datum2. Datum určené argumentem datum2 se započítává, ale datum určené argumentem datum1 nikoli. Jestliže je však argument interval nastaven na možnost ww (Týden), vrátí funkce DateDiff počet kalendářních týdnů mezi dvěma daty. Spočítá počet nedělí mezi daty určenými argumenty datum1 a datum2. Funkce DateDiff započítá datum určené argumentem datum2 v případě, že připadá na neděli, ale nezapočítá datum určené argumentem datum1 (ani pokud připadá na neděli).

Jestliže argument datum1 odkazuje na pozdější časový okamžik než argument datum2, vrátí funkce DateDiff záporné číslo.

Argument první_den_v_týdnu má vliv na výpočty, ve kterých jsou použity symboly intervalů w a ww.

Pokud je argument datum1 nebo datum2 zadán jako Literál typu datum, stane se zadaný rok trvalou součástí data. Jestliže je však argument datum1 nebo datum2 uzavřen v uvozovkách (" ") a vynecháte rok, bude při každém vyhodnocení výrazu s argumentem datum1 nebo datum2 vložen do kódu aktuální rok. Díky tomu lze zapisovat kód, který může být používán v různých letech.

Pokud porovnáte 31. prosinec a 1. leden následujícího roku, vrátí funkce DateDiff pro nastavení yyyy (Rok) hodnotu 1, přestože uplynul pouze jeden den.

Poznámka :  Jestliže je u vlastnosti Kalendář nastavena možnost Gregoriánský, musí zadané argumenty datum1 a datum2 odpovídat gregoriánskému kalendáři. Pokud je nastaven kalendář hidžra, musí zadané datum odpovídat kalendáři hidžra.

Příklady

Použití funkce DateDiff ve výrazu:     Funkci DateDiff můžete použít všude tam, kde můžete použít výrazy. Například předpokládejme, že máte formulář, který používáte k vyplnění objednávek zákazníků. V tabulce Objednávky existuje pole s názvem DoručitPřed, které obsahuje datum, ve kterém musí být objednávka zákazníkovi doručena. Funkci DateDiff můžete použít s textovým polem ve formuláři k zobrazení počtu dní zbývajících do data, kdy musí být objednávka odeslána.

Pokud předpokládáte, že odeslání objednávky trvá deset dní, nastavte vlastnost Zdroj ovládacího prvku textového pole následujícím způsobem:

=DateDiff(“d”, Now(), [Objednávky].[DoručitPřed])-10

Pokud formulář otevřete ve formulářovém zobrazení, zobrazí textové pole počet dní zbývajících do dne, kdy musí být objednávka odeslána. Pokud zbývá méně než 10 dní do dne, kdy zákazník musí objednávku obdržet, bude číslo v textovém poli záporné a bude určovat, o kolik dní později bude objednávka dodána v případě, že bude odeslána okamžitě.

Použití funkce DateDiff v kódu jazyka VBA:     

Poznámka : Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že kliknete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.

V tomto příkladu je pomocí funkce DateDiff zobrazen počet dnů mezi daným datem a aktuálním dnem.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×