Funkce DateDiff

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

Syntaxe

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

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

Tip: V Accessu 2010 má Tvůrce výrazů IntelliSense, takže vidíte, jaké argumenty váš výraz vyžaduje. 

Argument

Popis

interval

Povinný argument. Řetězcový výraz představující časový interval, který se používá k výpočtu rozdílu mezi datum1 a datum2.

datum1, datum2

Povinný argument. Typ variant (Date). Dvě kalendářní data, která chcete ve výpočtu použít.

první_den_v_týdnu

Nepovinný argument. Konstanta, který určuje první den v týdnu. Pokud není zadaná, předpokládá se neděle.

první_týden_v_roce

Nepovinný argument. Konstanta, která určuje první týden v roce. Není-li zadáno, předpokládá se, že jde o týden, ve kterém nastane 1.

Nastavení

Argumentintervalu má tato nastavení:

Nastavení

Popis

yyyy

Rok

q

Čtvrtletí

m

Měsíc

y

Den roku

d

Den

w

Funkce Weekday

ww

Týden

h

Hodina

n

Minuta

s

Sekunda

Argument první_den_v_týdnu má tato nastavení:

Konstanta

Hodnota

Popis

vbUseSystem

0

Použijte nastavení rozhraní API NLS.

vbSunday

1

Neděle (výchozí)

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

Použijte nastavení rozhraní API NLS.

vbFirstJan1

1

Začíná týdnem, kdy dojde k 1.

vbFirstFourDays

2

Zahajte první týden, který má nejméně čtyři dny nového roku.

vbFirstFullWeek

3

Začněte s prvním celým týdnem v roce.

Poznámky

Pomocí funkce DateDiff můžete určit, kolik časových intervalů mezi dvěma kalendářními daty existuje. Pomocí funkce DateDiff můžete například vypočítat počet dnů mezi dvěma kalendářními daty nebo počet týdnů mezi dnešním a koncem roku.

Chcete-li vypočítat počet dnů mezi čísly datum1 a datum2, můžete použít jeden z roků Year ("y") nebo Day ("d"). Pokud je interval v týdnu ("w"), vrátí funkce DateDiff počet týdnů mezi dvěma kalendářními daty. Pokud datum1 spadá do pondělí, funkce DateDiff spočítá počet pondělí až datum2. Počítá se s datum2 , ale ne datum1. Pokud je argument interval v týdnu ("ww"), vrátí funkce DateDiff počet kalendářních týdnů mezi dvěma kalendářními daty. Spočítá počet nedělí mezi datum1 a datum2. Počty funkceDateDiff se přihlásí, pokud spadají do neděle; ale nepočítá se v datum1, i když spadá do neděle.

Pokud datum1 odkazuje na pozdější bod v čase, než je datum2, vrátí funkce DateDiff záporné číslo.

Argument první_den_v_týdnu ovlivňuje výpočty, které používají symboly intervalu "w" a "tt".

Pokud je datum1 nebo datum2Literál typu datum, stane se zadaný rok trvalou součástí daného data. Pokud je ale pole datum1 nebo datum2 uzavřené v uvozovkách ("") a vynecháte rok, bude do kódu vkládán aktuální rok pokaždé, když je vyhodnocen výraz datum1 nebo datum2 . To umožňuje psát kód, který se dá použít v různých letech.

Když se porovnává 31. prosince 1. ledna od bezprostředně následujícího roku, vrátí funkce DateDiff for Year ("rrrr") hodnotu 1, i když uplynul pouze jeden den.

Poznámka:  Pro datum1 a datum2, pokud je u nastavení vlastnosti Kalendář nastavena možnost gregoriánský, musí být zadané datum gregoriánský. Pokud je kalendář hidžra, musí být zadané datum hidžra.

Příklady dotazů funkce DateDiff

Výraz

Výsledky

Vyberte DateDiff ("yyyy", #01/01/2010 #, [DateofSale]) jako Výraz1 FROM ProductSales.

Vrátí rozdíl mezi datum2 a datum1 (v datum1 jako "rok") jako počet let. Výsledek: rozdíl mezi hodnotami v poli "DateofSale" a datem "01/01/2010" jako počet "let".

Vyberte DateDiff ("q", [DateofSale], Date ()) AS DaysSinceSale FROM ProductSales;

Vrátí rozdíl mezi systémovým datem a "DateofSale" jako počtu čtvrtletí (na základě kalendářního roku) a zobrazí se ve sloupci "DaysSinceSale". Vrátí rozdíl mezi systémem datum a "DateofSale" jako počet měsíců a zobrazí se ve sloupci "DaysSinceSale".

Vyberte DateDiff ("y"; [DateofSale]; Date ()) AS DaysSinceSale FROM ProductSales.

Vrátí rozdíl mezi systémem datum a "DateofSale" jako počet dnů a zobrazí se ve sloupci "DaysSinceSale".

Vyberte DateDiff ("d", [DateofSale], Date ()) AS DaysSinceSale FROM ProductSales;

Vrátí rozdíl mezi systémem datum a "DateofSale" jako počet dnů a zobrazí se ve sloupci "DaysSinceSale".

Vyberte DateDiff ("w", [DateofSale], Date ()) AS DaysSinceSale FROM ProductSales;

Vrátí rozdíl mezi systémem datum a "DateofSale" jako počet "pracovních dnů" a zobrazí se ve sloupci "DaysSinceSale". Pokud se "DateofSale" nachází v pondělí, funkce DateDiff spočítá počet pondělí až do systémového data. Spočítá systémové datum, ale ne hodnotu v "DateofSale".

Vyberte DateDiff ("ww", [DateofSale], Date ()) AS DaysSinceSale FROM ProductSales;

Vrátí rozdíl mezi systémem datum a "DateofSale" jako počet "kalendářních týdnů" a zobrazí se ve sloupci "DaysSinceSale". Spočítá počet nedělí mezi "DateofSale" a "systémovým datem". Spočítá se systémové datum, pokud spadá do neděle. ale nepočítá se "DateofSale", a to i v případě, že spadá do neděle.

Vyberte DateDiff ("h", [DateTime], Date ()) AS DaysSinceSale FROM ProductSales.

Vrátí rozdíl mezi systémem datum a hodnotou DateTime jako počet hodin a zobrazí se ve sloupci "DaysSinceSale".

Vyberte DateDiff ("n", [DateTime], Date ()) AS DaysSinceSale FROM ProductSales.

Vrátí rozdíl mezi systémem datum a hodnotou DateTime jako počet minut a zobrazí se ve sloupci "DaysSinceSale".

Vyberte DateDiff ("s"; [DateTime], Date ()) AS DaysSinceSale FROM ProductSales.

Vrátí rozdíl mezi systémem datum a hodnotou DateTime jako počet sekund a zobrazí se ve sloupci "DaysSinceSale".

Vzorový výraz

Použití funkce DateDiff ve výrazu     Funkce DateDiff můžete použít všude, kde můžete používat výrazy. Předpokládejme například, že máte formulář, který používáte k uspokojení objednávek zákazníků. V tabulce Orders (objednávky) máte pole s názvem ReceiveBefore, které obsahuje datum, do kterého Zákazník musí objednávku přijmout. K zobrazení počtu dnů, které zbývá před expedicí objednávky, můžete použít funkci DateDiff s použitím textového pole ve formuláři.

Za předpokladu, že k odeslání objednávky trvá deset dnů, nastavíte vlastnost zdroj ovládacího prvku textového pole takto:

= DateDiff ("d"; Now (); [Orders]. [ ReceiveBefore]) – 10

Když formulář otevřete ve formulářovém zobrazení, zobrazí se v textovém poli Počet dnů, po kterém se objednávka musí dodat. Pokud zbývá méně než 10 dní před přijetím objednávky zákazníkem, je číslo v textovém poli záporné a označuje, kolik dní zpoždění objednávky bude odesláno okamžitě.

Příklad jazyka VBA

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

V tomto příkladu se funkce DateDiff používá k zobrazení počtu dnů mezi zadaným datem a dnes.

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:  Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát vědět, jestli vám informace pomohly? Pokud chcete, můžete se podívat na anglickou verzi článku.

Viz taky

Volba správné datové funkce

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

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

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×