Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed Aug 10, 2024
1 parent bf86540 commit 57bec05
Showing 1 changed file with 34 additions and 17 deletions.
51 changes: 34 additions & 17 deletions latte/cs/filters.texy
Original file line number Diff line number Diff line change
Expand Up @@ -424,46 +424,63 @@ localDate(string format = null, string date = null, string time = null) .[filter
---------------------------------------------------------------------------------
Formátuje datum a čas podle [národního prostředí |develop#locale], což zajišťuje konzistentní a lokalizované zobrazení časových údajů napříč různými jazyky a regiony. Filtr přijímá datum jako UNIX timestamp, řetězec nebo objekt typu `DateTimeInterface`.

```latte
{$date|localDate} {* 15. dubna 2024 *}
{$date|format: yM} {* 4/2024 *}
{$date|localDate: date: medium} {* 15. 4. 2024 *}
```

Pokud použijete filtr bez parametrů, vypíše se datum v úrovní `long`, viz dále.

**a) použití formátu**

Parametr `format` popisuje, které časové složky se mají zobrazit. Používá pro ně písmenné kódy, jejichž počet opakování ovlivňuje šířku výstupu:

| rok | `y` / `yy` / `yyyy` | `2024` / `24` / `2024`
| měsíc | `M` / `MM` / `MMM` / `MMMM` | `7` / `07` / `čvc` / `červenec`
| den | `d` / `dd` | `1` / `01`
| hodina | `j` | v preferovaném formátu prostředí
| hodina | `j` / `H` / `h` | preferovaný / 24hodinový / 12hodinový
| minuta | `m` / `mm` | `5` / `05` <small>(2 číslice v kombinaci se sekundami)</small>
| sekunda | `s` / `ss` | `8` / `08` <small>(2 číslice v kombinaci s minutami)</small>

Na pořadí kódů ve formátu nezáleží, protože pořadí složek se vypíše podle zvyklostí národního prostředí. Formát je tedy na něm nezávislý.
Například formát `yyyyMMMMd` v postředí `en_US` vypíše `April 15, 2024`, zatímco v prostředí `cs_CZ` vypíše `15. dubna 2024`. Nebo samotné `MMMM` se vypíše jako `duben`, atd.
Například formát `yyyyMMMMd` v postředí `en_US` vypíše `April 15, 2024`, zatímco v prostředí `cs_CZ` vypíše `15. dubna 2024`:

| locale: | cs_CZ | en_US
|---
| `format: 'dMy'` | 10. 8. 2024 | 8/10/2024
| `format: 'yM'` | 8/2024 | 8/2024
| `format: 'yyyyMMMM'` | srpen 2024 | August 2024
| `format: 'MMMM'` | srpen | August
| `format: 'jm'` | 17:22 | 5:22 PM
| `format: 'Hm'` | 17:22 | 17:22
| `format: 'hm'` | 5:22 odp. | 5:22 PM


**b) použití přednastavených stylů**

Parametry `date` a `time` určují, jak podrobně se má datum a čas vypsat. Můžete si vybrat z několika úrovní: `full`, `long`, `medium`, `short`. Lze nechat vypsat jen datum, jen čas, nebo obojí:

```latte
{$date|localDate: date: short} {* 23.01.1978 *}
{$date|localDate: date: medium} {* 23. 1. 1978 *}
{$date|localDate: date: long} {* 23. ledna 1978 *}
{$date|localDate: date: full} {* pondělí 23. ledna 1978 *}
{$date|localDate: time: short} {* 14:30 *}
{$date|localDate: date: long, time: medium} {* 23. ledna 1978 v 14:30:59 *}
výstup se liší v závislosti na prostředí
```
| locale: | cs_CZ | en_US
|---
| `date: short` | 23.01.78 | 1/23/78
| `date: medium` | 23. 1. 1978 | Jan 23, 1978
| `date: long` | 23. ledna 1978 | January 23, 1978
| `date: full` | pondělí 23. ledna 1978 | Monday, January 23, 1978
| `time: short` | 8:30 | 8:30 AM
| `time: medium` | 8:30:59 | 8:30:59 AM
| `time: long` | 8:30:59 SEČ | 8:30:59 AM GMT+1
| `date: short, time: short` | 23.01.78 8:30 | 1/23/78, 8:30 AM
| `date: medium, time: short` | 23. 1. 1978 8:30 | Jan 23, 1978, 8:30 AM
| `date: long, time: short` | 23. ledna 1978 v 8:30 | January 23, 1978 at 8:30 AM
| `date: full, time: short` | pondělí 23. ledna 1978 v 8:30 | Monday, January 23, 1978 at 8:30 AM

U data lze navíc použít prefix `relative-` (např. `relative-short`), který pro data blízká současnosti zobrazí `včera`, `dnes` nebo `zítra`, jinak se vypíše standardním způsobem.

```latte
{$date|localDate: date: relative-short} {* včera *}
```

Pokud použijete filtr bez parametrů, vypíše se datum v úrovni `long`:

```latte
{$date|localDate} {* 15. dubna 2024 *}
```

Viz také [#date].


Expand Down

0 comments on commit 57bec05

Please sign in to comment.