dateDiff
Funkce vrátí datum, které je vypočítané na základě vstupního data a požadované diference.
DatedateDiff
(
Date | Instant | Long start,
( Number | String | Period | Duration ) difference)
- start
- Výchozí datum. Kromě zadání data funkce umí zpracovat také Long, řetězec, který je dekadickou reprezentací čísla Long, nebo Instant. Pokud je zadaná hodnota
null
, použije se aktuální čas. - difference
-
Velikost intervalu, který se má ke start přičíst.
Může být zadáno jako číslo, které se pak interpretuje jako počet milisekund přičítaných k výchozímu datu, popřípadě Period nebo Duration.
Alternativně je možné zadat řetězec, který specifikuje jeden nebo několik přičítaných nebo odečítaných intervalů zapsaných ve tvaru sign number unit:
- sign
- Znaménko: "+" znamená, že se interval přičítá, "-" že se odečítá. Pokud znaménko není uvedeno, bere se znaménko předchozího intervalu. Pokud první interval nemá explicitně uvedené znaménko, přičítá se.
- number
- Desítkově zapsané číslo.
- unit
-
Jednotka. Možné jednotky jsou:
s
- sekunda
m
- minuta
h
- hodina
d
- den (24 hodin)
w
- týden (7 × 24 hodin)
M
- měsíc
Y
- rok
Pokud je zadaná jednotka
M
neboY
, nepřičítá se pevně daný interval, ale použije se kalendář pro přepočítání kalendářních měsíců nebo roků.Při zpracování řetězce se zcela ignorují mezery.
Příklad: Přičtení intervalu k datu
Šablona
Zítra: {dateDiff(null, "1d")}
Včera: {dateDiff(null, "-1d")}
Za týden: {dateDiff(null, "+1w")}
Před týdnem: {dateDiff(null, "-1w")}
Za měsíc: {dateDiff(null, "+1M")}
Za rok: {dateDiff(null, "+1Y")}
Za rok a měsíc: {dateDiff(null, "+1Y1M")}
Výstup pro 10.1.2011
Zítra: 11.1.2011
Včera: 9.1.2011
Za týden: 17.1.2011
Před týdnem: 3.1.2011
Za měsíc: 10.2.2011
Za rok: 10.1.2012
Za rok a měsíc: 10.2.2012
Příklad: Použití funkce s argumentem string
Šablona
format( dateDiff(asDate("2022-01-03", "yyyy-M-d"), "1d"), "d.M.YYYY") )
Výstup
4.1.2022
Pro vložení příspěvku do diskuse se přihlašte.