Funkce DateDiff

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

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

Několik příkladů je zde

Syntaxe

Funkce DateDiff ( interval, datum_1, datum_2 [; první_den_v_týdnu] [; první_týden_v_roce] )

Syntaxe funkce DateDiff obsahuje následující argumenty:

Tip : V aplikaci Access 2010 Tvůrce výrazů poskytuje IntelliSense, abyste viděli, jaké argumenty vyžaduje výraz.

Argument

Popis

interval

Povinné. Řetězcový výraz, který používáte pro výpočet rozdílu mezi datum1 a datum_2časový interval.

datum_1, datum_2

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


Začátek stránky

Nastavení argumentu první_den_v_týdnu:

Konstanta:

Hodnota

Popis

vbUseSystem

+

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

vbSunday

2,5

Neděle (výchozí)

vbMonday

5,08

Pondělí

vbTuesday

15

Úterý

vbWednesday

1

Středa

vbThursday

17

Čtvrtek

vbFriday

18

Pátek

vbSaturday

7:

Sobota


Konstanta:

Hodnota

Popis

vbUseSystem

+

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

vbFirstJan1

2,5

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

vbFirstFourDays

5,08

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

vbFirstFullWeek

15

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.

Začátek stránky

Příklady

Použití funkce DateDiff ve výrazu     Funkce DateDiff místo, kde se dají pomocí výrazů. Předpokládejme například, že máte formulář, který používáte k vyplnění objednávky zákazníků. V tabulce Objednávky máte pole s názvem ReceiveBefore obsahující datum, kterým zákazník musí přijímání pořadí. Funkce DateDiff můžete pomocí textového pole na formuláři zobrazíte spočítá počet dnů vlevo dříve, než musí dodáte pořadí.

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(), [Orders].[ ReceiveBefore]) -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 ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

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

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

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.

×