Date
Datum a čas, tedy přesněji: určitý okamžik v čase s přesností na milisekundy.
Hodnota typu java.util.Date.
Získání data v TFS
Pro vytvoření data v šabloně slouží funkce asDate.
Datum je také hodnotou některých atributů assetů: běžné jsou articleDate, validFrom, validTo, createDate a modifyDate.
Výpis data
Přímý výpis data používá pro češtinu pattern "d.M.yyyy".
POZOR na velikost písmen! např. D.m.YYYY by vypsal "pořadí dne v roce". "minuta". "týdenní rok"
{asDate()}
18.6.2009
Pro ostatní jazyky se snaží zvolit defaultní formát automaticky (formát velikosti MEDIUM pro dané locale voláním metody getInstance třídy DateFormat).
{options forceLanguage="en"}
 {asDate()}
{/options}
Jun 18, 2009
Skutečný výpis může tedy pro jiné jazyky než češtinu pravděpodobně záviset na verzi javy a nastavení serveru; pokud klient trvá na zachování konkrétního výpisu, je lepší s ohledem na dopřednou kompatibilitu uvést formát explicitně.
Pattern je možné změnit uvedením parametru výpisu pattern. K formátování se používá SimpleDateFormat – v jeho dokumentaci je popsaný význam jednotlivých znaků patternu.
{asDate() pattern="d. MMMM yyyy 'v' H:mm"}
18. červen 2009 v 9:07
V novějších verzích systému jNetPublish je možné pomocí příkazu options nastavit locale, kterým se bude řídit výpis slovně reprezentovaných částí data (měsíce, dny v týdnu). Defaultně se bere locale podle aktuálního jazyka.
{options forceLanguage="en"}
 {_template.modifyDate pattern="MMMM d, yyyy"}
{/options}
June 18, 2009
Pokud je třeba s formátovanou reprezentací data dále pracovat jako s řetězcem, lze použít funkci format.
Selekce podhodnoty
Používá Calendar k získání různých složek data.
date- (Integer) Den v měsíci podle obvyklého číslování. Tzn. hodnota 12 pro 12. ledna nebo 12. února atd.
 dayOfMonth- (Integer) Den v měsíci (shodně s předchozím).
 day- (Integer) Den v týdnu. Týden začíná nedělí, která má číslo 1, tzn. pondělí je hodnota 2 atd.; sobota je hodnota 7.
 dayOfWeek- (Integer) Den v týdnu (shodně s předchozím).
 dayOfYear- (Integer) Den v roce – pořadové číslo dne v roce, číslování od jedné. Tzn. hodnota 1 pro 1. ledna, hodnota 32 pro 1. února atd.
 month- (Integer) Měsíc – pořadové číslo měsíce v roce, číslování od nuly. Tzn. hodnota 0 pro leden, hodnota 1 pro únor atd.
 year- (Integer) Rok v obvyklém číslování.
 hours- (Integer) Hodiny v daném dni, to znamená číslo od 0 do 23.
 minutes- (Integer) Minuty v dané hodině, tzn. číslo od 0 do 59.
 seconds- (Integer) Sekundy v dané minutě, tzn. číslo od 0 do 59.
 time- (Long) Počet milisekund od 1.1. 1970
 instant- (Instant) Instant reprezentace
 
{let d := asDate("12.1.2009 10:09:56", "d.M.yyyy hh:mm:ss")
                  /* 12.1.2009 bylo pondeli */}
date:       {d.date}
dayOfMonth: {d.dayOfMonth}
day:        {d.day}
dayOfWeek:  {d.dayOfWeek}
dayOfYear:  {d.dayOfYear}
month:      {d.month}
year:       {d.year}
hours:      {d.hours}
minutes:    {d.minutes}
seconds:    {d.seconds}
 
 
date:       12
dayOfMonth: 12
day:        2
dayOfWeek:  2
dayOfYear:  12
month:      0
year:       2009
hours:      10
minutes:    9
seconds:    56
Pochopitelně nemá smysl k výpisu data používat skládání a lokalizaci těchto podhodnot – k tomu slouží přímý výpis s parametrem pattern. Pokud chceme získat lokalizovanou reprezentaci data jako řetězec, je třeba použít funkci format.
Tentýž postup je vhodné použít i v případě, že chceme pracovat s jedinou komponentou data v lokalizované podobě.
{options forceLanguage="en"}
{let currentMonth := format(asDate(), "MMMM")}
{/options}
{toLowerCase(currentMonth)}
june
Použití komponent data má smysl v různých podmíněných výrazech.
{if asDate().day == 2}Už zase pondělí...{/if}
Speciální význam má klíč time:
time- (Long) Počet milisekund od 1.1.1970 GMT reprezentovaný objektem.
 
Je možné (a vhodné) ho používat jako timestamp v případech, kdy nezáleží na formátu výpisu.
<a href="{link(a) updated=a.modifyDate.time}">...</a>
Mapování
Probíhá stejně jako selekce.
Sekvenční zpracování
Chová se jako prázdná sekvence.
Převod na logickou hodnotu
Vyhodnotí se vždycky jako true.