Formátovanie dátumov pomocou kanálov v Angular
Pomocou kanála DatePipe môžeme
nastaviť špecifický formát pre zobrazenie dátumu.
Tento kanál môže prijať nasledujúce
parametre pre formát zobrazenia dátumu:
| Formát | Ekvivalent | Príklad (pre lokalizáciu en-US) |
|---|---|---|
'short' |
'M/d/yy, h:mm a' |
12/31/25, 3:00 AM |
'medium' |
'MMM d, y, h:mm:ss a' |
Dec 31, 2025, 3:00:00 AM |
'long' |
'MMMM d, y, h:mm:ss a z' |
December 31, 2025 at 3:00:00 AM GMT+3 |
'full' |
'EEEE, MMMM d, y, h:mm:ss a zzzz' |
Wednesday, December 31, 2025 at 3:00:00 AM GMT+03:00 |
'shortDate' |
'M/d/yy' |
12/31/25 |
'mediumDate' |
'MMM d, y' |
Dec 31, 2025 |
'longDate' |
'MMMM d, y' |
December 31, 2025 |
'fullDate' |
'EEEE, MMMM d, y' |
Wednesday, December 31, 2025 |
'shortTime' |
'h:mm a' |
3:00 AM |
'mediumTime' |
'h:mm:ss a' |
3:00:00 AM |
'longTime' |
'h:mm:ss a z' |
3:00:00 AM GMT+3 |
'fullTime' |
'h:mm:ss a zzzz' |
3:00:00 AM GMT+03:00 |
Príklady
Pozrime sa na fungovanie kanála na príkladoch.
Na tento účel nastavme v triede komponentu
vlastnosť myDate, do ktorej zapíšeme
dátum:
export class AppComponent {
public myDate: number = Date.parse('2025-12-31');
}
Príklad
Vypíšme náš dátum bez toho, aby sme do kanála odovzdali akékoľvek parametre:
<div>
{{ myDate | date }}
</div>
Výsledok vykonaného kódu:
<div>Dec 31, 2025</div>
Príklad
Teraz zobrazme krátky výpis dátumu:
<div>
{{ myDate | date:'shortDate' }}
</div>
Výsledok vykonaného kódu:
<div>12/31/25</div>
Príklad
Vypíšme náš dátum a zároveň zistíme na ktorý deň v týždni pripadá:
<div>
{{ myDate | date:'fullDate' }}
</div>
Výsledok vykonaného kódu:
<div>Wednesday, December 31, 2025</div>
Praktické úlohy
Daný dátum:
public myDate: number = Date.parse('2025-01-02');
Naformátujte ho v nasledujúcom tvare:
'Jan 2, 2025'
Naformátujte dátum z predchádzajúcej úlohy v nasledujúcom tvare:
'1/2/25, 3:00 AM'
Naformátujte dátum v nasledujúcom tvare:
'1/2/25'
Naformátujte dátum v nasledujúcom tvare:
'January 2, 2025 at 3:00:00 AM GMT+3'
Naformátujte dátum v nasledujúcom tvare:
'Thursday, January 2, 2025'