dateDiff

Funkce vrátí datum, které je vypočítané na základě vstupního data a požadované diference.

Date dateDiff (
    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 nebo Y, 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.