# DATE ## Visão geral O módulo `date` fornece utilitários rápidos para formatação, análise, operações aritméticas, conversão Unix e exibição em fusos horários. ## Comandos da CLI ```bash brutils date now brutils date format --date 2024-01-02T03:04:05Z --pattern "YYYY-MM-DD HH:mm:ss" brutils date parse --date 2024-01-02T03:04:05Z brutils date add --date 2024-01-01T00:00:00Z --days 7 brutils date sub --date 2024-01-01T00:00:00Z --hours 2 brutils date diff --from 2024-01-01T00:00:00Z --to 2024-01-03T00:00:00Z --unit days brutils date unix --date 2024-01-01T00:00:00Z brutils date unix 1704067200 brutils date tz --from 2024-01-01T12:00:00Z --to America/Sao_Paulo ``` ## Ações | Ação | Uso | Descrição | | -------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | `now` | `brutils date now` | Exibe um registro da data e hora atuais. | | `format` | `brutils date format --date --pattern ` | Formata uma data usando um padrão de tokens. | | `parse` | `brutils date parse --date ` | Analisa uma string de data e retorna metadados normalizados. | | `add` | `brutils date add --date [--days ] [--hours ] [--minutes ] [--seconds ]` | Adiciona tempo a uma data. | | `sub` | `brutils date sub --date [--days ] [--hours ] [--minutes ] [--seconds ]` | Subtrai tempo de uma data. | | `diff` | `brutils date diff --from --to [--unit ]` | Calcula a diferença entre duas datas. | | `unix` | `brutils date unix [value] [--date ]` | Converte para timestamps Unix ou a partir deles. | | `tz` | `brutils date tz --from --to ` | Exibe uma data e hora em um fuso horário IANA de destino. | ## Opções | Opção | Aplicável a | Tipo | Descrição | | ------------------- | ----------------- | ------- | -------------------------------------------------------- | | `--date ` | maioria das ações | string | Data e hora de entrada. | | `--from ` | `diff`, `tz` | string | Data e hora de origem. | | `--to ` | `diff`, `tz` | string | Data e hora de destino ou fuso horário de destino. | | `--days ` | `add`, `sub` | inteiro | Variação em dias. | | `--hours ` | `add`, `sub` | inteiro | Variação em horas. | | `--minutes ` | `add`, `sub` | inteiro | Variação em minutos. | | `--seconds ` | `add`, `sub` | inteiro | Variação em segundos. | | `--pattern ` | `format` | string | Padrão de formatação. | | `--unit ` | `diff` | string | Unidade de saída: `seconds`, `minutes`, `hours`, `days`. | ## Observações - `format` atualmente aceita os tokens `YYYY`, `MM`, `DD`, `HH`, `mm` e `ss`. - `unix` aceita um valor Unix posicional ou `--date` para conversão de data para Unix.