Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
| Functions | Vzťahuje sa na |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Function | Vzťahuje sa na |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Pridáva alebo zisťuje rozdiel v hodnotách času a dátumu a prevedie miestny čas na UTC (koordinovaný svetový čas).
Popis
Funkcia DateAdd pripočíta k hodnote dátumu a času počet jednotiek. Výsledkom je nová hodnota dátumu a času. Zadaním zápornej hodnoty môžete tiež odčítať počet jednotiek z hodnoty dátumu a času.
Funkcia DateDiff vráti rozdiel medzi dvomi hodnotami dátumu a času. Výsledkom je celé číslo jednotiek.
Pre obe funkcie môžu jednotky byť Časová jednotka.milisekundy, Časová jednotka.sekundy, Časová jednotka.minúty, Ti meUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, alebo Časová jednotka.roky. Obe funkcie štandardne používajú TimeUnit.Days ako jednotky.
Funkcia TimeZoneOffset vráti počet minút medzi miestnym časom a UTC (koordinovaným svetovým časom).
Funkciu môžete použiť DateAdd na TimeZoneOffset prevod medzi miestnym časom a UTC (koordinovaným svetovým časom). Pridaním TimeZoneOffset sa miestny čas prevedie na UTC a jej odčítaním (pridaním negatívnej hodnoty) sa UTC prevedie na miestny čas.
Ďalšie informácie nájdete aj v časti Dátové typy dátumu, času a dátumu a času a práca s dátumami a časmi .
Syntax
DateAdd( DateTime, Prírastok [, Jednotky ] )
- DateTime - povinné. Hodnota dátumu a času s ktorou sa má operácia vykonať.
- Dodatok – povinné. Číslo v jednotkách Units, ktoré sa majú pripočítať k hodnote DateTime.
- Jednotky – voliteľné. Typ Jednotiek do pridať: Časová jednotka.milisekundy, Časová jednotka.sekundy, Časová jednotka.minúty, T imeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, alebo Časová jednotka.roky. Ak nie je zadané, použijú sa Časová jednotka.Dni .
DateDiff( StartDateTime, EndDateTime [, Jednotky ] )
- StartDateTime – povinné. Počiatočná hodnota dátumu a času.
- EndDateTime - povinné. Koncová hodnota dátumu a času.
- Jednotky – voliteľné. Typ Jednotiek do odpočítať: Časová jednotka.Millisekundy, Časová jednotka.Sekundy, Časová jednotka.minúty, ČasUn it.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, alebo Časová jednotka.roky. Ak nie je zadané, použijú sa Časová jednotka.Dni .
TimeZoneOffset( [ DateTime ] )
- DateTime – voliteľné. Hodnota dátumu a času, ktorej posun sa má vrátiť. Podľa predvoleného nastavenia sa použije aktuálny dátum a čas.
Príklady
Vo všetkých týchto príkladoch sa predpokladá, že aktuálny dátum a čas je 15. júl 2013, 13:02.
Jednoduchý DateAdd
| Vzorec | Popis | Výsledok |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-rrrr hh:mm" ) |
K aktuálnemu dátumu a času pripočíta tri dni (predvolená jednotka). | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-rrrr hh:mm" ) |
K aktuálnemu dátumu a času pripočíta štyri hodiny. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-rrrr hh:mm" ) |
K aktuálnemu dátumu (bez času) pripočíta jeden mesiac, keďže funkcia Today nevracia zložku času. | "15-08-2013 00:00" |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-rrrr hh:mm" ) |
Od aktuálneho dátumu a času odčíta 30 minút. | "15-07-2013 12:32" |
Jednoduchý DateDiff
| Vzorec | Popis | Výsledok |
|---|---|---|
| DateDiff( Now(), DateValue("1/1/2014") ) | Vráti rozdiel medzi dvoma jednotkami v predvolených jednotkách TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Vráti rozdiel medzi dvoma hodnotami v Časová jednotka.Mesiace | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Vráti rozdiel medzi aktuálnym dátumom a časom a iba aktuálnym dátumom (bez času) v minútach. Keďže Now je neskoršie ako Today, bude výsledok záporný. | -782 |
Rozdiel dátumov s čiastkovými výsledkami
Funkcia DateDiff vráti iba celý počet jednotiek odčítaných, pričom presnosť je zadaná v zadanej jednotke. Ak chcete vypočítať rozdiel s vyššou presnosťou, použite menšiu jednotku a výsledok primerane preveďte, ako v príkladoch nižšie.
| Vzorec | Popis | Výsledok |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Minúty/sekundy sa ignorujú, rozdiel závisí od času do hodiny. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | V rozdiele sa používajú minúty a výsledok sa vydelí 60, aby sa dosiahol rozdiel v hodinách. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | V rozdiele sa používajú minúty a sekundy a výsledok sa vydelí 3600, aby sa dosiahol rozdiel v hodinách. | 0.51 |
Prevod na UTC
Ak chcete urobiť prevod na UTC (koordinovaný svetový čas), pridajte TimeZoneOffset pre daný čas hodnotu .
Predpokladajme, že aktuálny dátum a čas je 15. júl 2013, 13:02 v letnom tichomorskom čase (PDT, UTC-7). Aktuálny čas v UTC zistíte takto:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset aktuálny čas, takže ho nemusíte preniesť do argumentu.
Na zobrazenie výsledku použite funkciu Text s formátom dd-mm-yyyy hh:mm, ktorá vráti hodnotu 15-07-2013 20:02.
Prevod z UTC
Ak chcete urobiť prevod z UTC, odčítajte TimeZoneOffset (pripočítaním zápornej hodnoty) od daného času.
Predpokladajme napríklad, že UTC dátum a čas 15. júl 2013, 20:02 sú uložené v premennej s názvom StartTime. Tento čas prevediete do časového pásma používateľa takto:
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Všimnite si záporné znamienko predtým TimeZoneOffset , než ho chcete odčítať, ale odčítať.
Na zobrazenie výsledku použite funkciu Text s formátom dd-mm-yyyy hh:mm, ktorej výsledkom bude 15-07-2013 13:02, ak sa nachádzate v letnom tichomorskom čase.