> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kiwify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtros de data

> Filtros de data para formatar datas em templates Liquid.

## `date`

O filtro de data é usado para converter um timestamp no formato especificado.

* LiquidJS tenta estar em conformidade com Shopify/Liquid, que usa o core do Ruby [Time###strftime(string)](https://www.ruby-doc.org/core/Time.html#method-i-strftime). Há diferenças com [as flags de formato do Ruby](https://ruby-doc.org/core/strftime_formatting_rdoc.html):
* `%Z` (desde v10.11.1) é substituído pelo nome de timezone passado de `LiquidOption` ou valor in-place (veja TimeZone abaixo). Se o timezone passado for um número de offset em vez de string, se comportará como `%z`. Se não há timezone passado, retorna [o fuso horário padrão do runtime](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions###timezone).
* LiquidJS fornece uma flag adicional `%q` para ordinais de data. ex. \`\` => `02nd of Feb`
* Literais de data são primeiro convertidos para objeto `Date` via new Date(), isso significa que valores literais são considerados no fuso horário do runtime por padrão.
* O argumento de filtro de formato é opcional:
* Se não fornecido, o padrão é `%A, %B %-e, %Y at %-l:%M %P %z`.
* O padrão acima pode ser sobrescrito pela opção [`dateFormat`](/api/interfaces/LiquidOptions.html###dateFormat) do LiquidJS.
* LiquidJS `date` suporta nomes de dias da semana e meses específicos do locale, que voltará para inglês onde `Intl` não é suportado.
* Ordinais (`%q`) e filtros de data específicos do Jekyll são apenas em inglês.
* [`locale`](/api/interfaces/LiquidOptions.html###locale) pode ser definido ao criar instância Liquid. Padrão é `Intl.DateTimeFormat().resolvedOptions.locale`).

#### Examples

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ article.published_at | date: '%a, %b %d, %y' }}
    {{ "now" | date: "%Y-%m-%d %H:%M" }}
    {{ '1990-12-31T23:30:28Z' | date: '%d%q of %b %Y at %I:%M %P %Z', -330 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Fri, Jul 17, 15
    2020-03-25 15:57
    01st of Jan 1991 at 05:00 am +0530;
    ```
  </CodeGroup>
</Columns>

### TimeZone

* Durante a saída, LiquidJS usa timezone local que pode ser sobrescrito por:
* definir um timezone in-place ao chamar filtro `date`, ou
* definir a opção [`timezoneOffset`](/api/interfaces/LiquidOptions.html###timezoneOffset) do LiquidJS
* O padrão é o do runtime.
* Offset pode ser definido como,
* minutos: `-360` significa `'+06:00'` e `360` significa `'-06:00'`
* ID de timeZone: `Asia/Colombo` ou `America/New_York`
* Veja [aqui](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) para valores do banco de dados TZ

#### Examples

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "1990-12-31T23:00:00Z" | date: "%Y-%m-%dT%H:%M:%S", 360 }}
    {{ "1990-12-31T23:00:00Z" | date: "%Y-%m-%dT%H:%M:%S", "Asia/Colombo" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1990-12-31T17:00:00
    1991-01-01T04:30:00
    ```
  </CodeGroup>
</Columns>

### Input

* `date` funciona em strings se elas contêm datas bem formatadas
* Note que LiquidJS está usando JavaScript Date para analisar a string de entrada, isso significa que [timestamps RFC 2822 compatíveis com IETF](https://datatracker.ietf.org/doc/html/rfc2822###page-14) e strings em [uma versão do ISO8601](https://www.ecma-international.org/ecma-262/11.0/#sec-date.parse) são suportados.

#### Examples

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "1990-12-31T23:00:00Z" | date: "%Y-%m-%dT%H:%M:%S", 360 }}
    {{ "March 14, 2016" | date: "%b %d, %y" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1990-12-31T17:00:00
    Mar 14, 16
    ```
  </CodeGroup>
</Columns>

### Data Atual

* Para obter a hora atual, passe a palavra especial `"now"` ou `"today"` como entrada
* Note que o valor será a hora atual de quando a página foi gerada pela última vez a partir do template, não quando a página é apresentada a um usuário se cache ou geração de site estático estiver envolvido

#### Example

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    Last updated on: {{ "now" | date: "%Y-%m-%d %H:%M" }}
    Last updated on: {{ "today" | date: "%Y-%m-%d %H:%M" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Last updated on: 2020-03-25 15:57
    Last updated on: 2020-03-25 15:57
    ```
  </CodeGroup>
</Columns>

## `date_to_string`

Converte uma data para formato curto. Igual ao filtro `date_to_string` do Jekyll.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ site.time | date_to_string }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    07 Nov 2008
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ site.time | date_to_string: "ordinal", "US" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Nov 7th, 2008
    ```
  </CodeGroup>
</Columns>

Note que JavaScript `Date` não tem informação de timezone, veja filtro de data para detalhes.

## `date_to_long_string`

Converte uma data para formato longo. Igual ao filtro `date_to_long_string` do Jekyll.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ site.time | date_to_long_string }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    07 November 2008
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ site.time | date_to_long_string: "ordinal" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    7th November 2008
    ```
  </CodeGroup>
</Columns>

Note que JavaScript `Date` não tem informação de timezone, veja filtro de data para detalhes.

## `date_to_xmlschema`

Converte uma Data para formato XML Schema (ISO 8601), igual ao filtro `date_to_xmlschema` do Jekyll.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ site.time | date_to_xmlschema }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2008-11-07T13:07:54-08:00
    ```
  </CodeGroup>
</Columns>

Note que JavaScript `Date` não tem informação de timezone, veja filtro de data para detalhes.

## `date_to_rfc822`

Converte uma Data para o formato RFC-822 usado para feeds RSS, igual ao filtro `date_to_rfc822` do Jekyll.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ site.time | date_to_rfc822 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Mon, 07 Nov 2008 13:07:54 -0800
    ```
  </CodeGroup>
</Columns>

Note que JavaScript `Date` não tem informação de timezone, veja filtro de data para detalhes.
