Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vráti hodnotu typu Variant (Long), ktorý určí počet časových intervalov medzi dvoma zadanými dátumami.

Syntax

DateDiff ( interval, dátum1, dátum2 [, prvýdeňtýždňa] [, prvýtýždeňroka] )

Syntax funkcie DateDiff má tieto argumenty:

Argument

Popis

interval

Povinný argument. Reťazcový výraz, ktorý vyjadruje časový interval, ktorý sa použije na výpočet rozdielu medzi argumentmi dátum1 a dátum2.

dátum1, dátum2

Povinný argument. Variant (Date). Dva dátumy, ktoré chcete použiť vo výpočte.

prvýdeňtýždňa

Voliteľný argument. Je to konštanta, ktorá určuje prvý deň v týždni. Ak nie je zadaná, predpokladá sa, že je to nedeľa.

prvýtýždeňroka

Voliteľný argument. Konštanta, ktorá určuje prvý týždeň roka. Ak nie je zadaný, prvý týždeň sa považuje za týždeň, v ktorom nastane 1. január.

Nastavenia

Interval argument má tieto nastavenia:

Nastavenie

Popis

yyyy

Rok

q

Štvrťrok

m

Mesiac

y

Deň v roku

d

Deň

w

Deň v týždni

ww

Týždeň

h

Hodina

m

Minúta

s

Sekunda

Argument prvýdeňtýždňa má tieto nastavenia:

Konštanta

Hodnota

Popis

vbUseSystem

0

Použije sa nastavenie NLS API.

vbSunday

1

Nedeľa (predvolené)

vbMonday

2

Pondelok

vbTuesday

3

Utorok

vbWednesday

4

Streda

vbThursday

5

Štvrtok

vbFriday

6

Piatok

vbSaturday

7

Sobota

Konštanta

Hodnota

Popis

vbUseSystem

0

Použije sa nastavenie NLS API.

vbFirstJan1

1

Začína sa týždňom, do ktorého spadá 1. január (predvolená možnosť).

vbFirstFourDays

2

Začína sa prvým týždňom, v ktorom sa nachádzajú aspoň štyri dni nového roka.

vbFirstFullWeek

3

Začína sa prvým celým týždňom v roku.

Poznámky:

Funkciu DateDiff môžete použiť na určenie, koľko zadaných časových intervalov existuje medzi dvomi dátumami. Funkciu DateDiff môžete napríklad použiť na výpočet počtu dní medzi dvomi dátumami, alebo počtu týždňov medzi dnešným dňom a koncom roka.

Na výpočet počtu dní medzi hodnotami dátum1 a dátum2 môžete použiť buď Deň v roku (ďalej len „y“) alebo Deň (ďalej len „d“). Keď je argument interval nastavený na hodnotu Deň v týždni („w“), funkcia DateDiff vráti počet týždňov medzi dvomi dátumami. Ak argument dátum1 pripadne na pondelok, funkcia DateDiff spočíta počet pondelkov po dátum2. Započíta aj dátum2, ale nezapočíta dátum1. Ak je však argument interval Týždeň („ww“), funkcia DateDiff vráti počet kalendárnych týždňov medzi dvomi dátumami. Spočíta počet nedieľ medzi hodnotami dátum1 a dátum2. Funkcia DateDiff započíta dátum2, ak pripadne na nedeľu, ale nezapočíta dátum1, a to ani ak pripadne na nedeľu.

Ak argument dátum1 odkazuje na neskorší časový bod, než je argument dátum2, funkcia DateDiff vráti záporné číslo.

Argument prvýdeňtýždňa ovplyvní výpočty, ktoré používajú intervalové symboly „w“ a „ww“.

Ak hodnoty dátum1 alebo dátum2 predstavujú doslovný dátumový údaj, zadaný rok sa stane trvalou súčasťou daného dátumu. Ak je však hodnota argumentu dátum1 alebo dátum2 uzavretá v dvojitých úvodzovkách (" ") a vynecháte rok, pri každom vyhodnocovaní výrazov dátum1 alebo dátum2 sa do vášho kódu vloží aktuálny rok. Takto je možné písať kód, ktorý sa bude môcť používať v rôznych rokoch.

Pri porovnávaní 31. decembra a 1. januára nasledujúceho roka vráti funkcia DateDiff pre nastavenie Rok („yyyy“) hodnotu 1, napriek tomu, že uplynul iba jeden deň.

Poznámka:  Pre argumenty dátum1 a dátum2 platí, že ak vlastnosť Kalendár je nastavená na možnosť Gregoriánsky, zadaný dátum musí byť podľa gregoriánskeho kalendára. Ak ide o kalendár Hedžra, zadaný dátum musí byť podľa kalendára Hedžra.

Príklady dotazu DateDiff

Výraz

Výsledky

SELECT DateDiff("rrrr",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales;

Vráti rozdiel medzi dátumom 2 a dátumom Date1 (považujte dátum1 za najstarší a dátum2 ako najnovší) ako počet rokov. Výsledok: Rozdiel medzi hodnotami v poli DateofSale a dátumom 01/01/2010 ako počet rokov.

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

Vráti rozdiel medzi systémovým dátumom a dátumom "DateofSale" ako počet štvrťrokov (na základe kalendárneho roka) a zobrazí sa v stĺpci DaysSinceSale. vráti rozdiel medzi systémový dátum a "DateofSale" ako počet mesiacov a zobrazí sa v stĺpci DaysSinceSale.

SELECT DateDiff("y";[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Vráti rozdiel medzi systémový dátum a "DateofSale" ako počet dní a zobrazí sa v stĺpci DaysSinceSale.

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

Vráti rozdiel medzi systémový dátum a "DateofSale" ako počet dní a zobrazí sa v stĺpci DaysSinceSale.

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

Vráti rozdiel medzi systémovými dátumami a hodnotami DateofSale ako počet dní v týždni a zobrazí sa v stĺpci DaysSinceSale. Ak hodnota DateofSale pripadne na pondelok, funkcia DateDiff spočíta počet pondelkov do systémového dátumu. Počíta systémový dátum, ale nie hodnotu v parametri DateofSale.

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

Vráti rozdiel medzi systémový dátum a "DateofSale" ako počet "Kalendár týždňov" a zobrazí sa v stĺpci DaysSinceSale. Spočíta počet nedieľ medzi hodnotami DateofSale a System Date. Bude počítať systémový dátum, ak pripadne na nedeľu; ale nepočíta "DateofSale", aj keď to padne na nedeľu.

SELECT DateDiff("h";[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Vráti rozdiel medzi systémovými dátumami a dátumom DateTime ako počet hodín a zobrazí sa v stĺpci DaysSinceSale.

SELECT DateDiff("n";[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Vráti rozdiel medzi systémovými dátumami a dátumom DateTime ako počet minút a zobrazí sa v stĺpci DaysSinceSale.

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

Vráti rozdiel medzi systémovými dátumami a dátumom DateTime ako počet sekúnd a zobrazí sa v stĺpci DaysSinceSale.

Vzorový výraz

Použitie funkcie DateDiff vo výraze     Funkciu DateDiff môžete použiť všade tam, kde môžete použiť výrazy. Povedzme napríklad, že máte formulár, ktorý používate na vybavenie objednávok zákazníkov. V tabuľke Objednávky máte pole s názvom PrijaťPred, ktoré obsahuje dátum, ku ktorému zákazník potrebuje objednávku prijať. Pomocou funkcie DateDiff s textovým poľom vo formulári môžete zobraziť počet zostávajúcich dní, kedy je potrebné objednávku odoslať.

Za predpokladu, že odoslanie ľubovoľnej objednávky trvá desať dní, nastavte vlastnosť ControlSource pre textové pole takto:

=DateDiff(“d”, Now(), [Objednávky].[PrijaťPred])-10

Keď otvoríte formulár v zobrazení formulára, textové pole zobrazí počet zostávajúcich dní, dokedy je objednávku potrebné odoslať. Ak zostáva menej ako 10 dní do dňa, kedy zákazník potrebuje objednávku prijať, číslo v textovom poli bude záporné a udáva počet dní oneskorenia doručenia objednávky za predpokladu, že sa odošle okamžite.

Príklad jazyka VBA

Použitie funkcie DateDiff v kóde VBA    

V tomto príklade je funkcia DateDiff použitá na zobrazenie počtu dní medzi daným dátumom a dnešným dňom.

Dim TheDate As Date    ' Declare variables.Dim MsgTheDate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d", Now, TheDate)MsgBox Msg

Pozrite tiež

Výber správnej funkcie dátumu

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.