Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 85 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,102 @@
# brasil_datetime 🇧🇷

# brasil_datetime
Extensões para a classe `DateTime` que facilitam a formatação de data e hora para o padrão brasileiro (pt_BR).

Extensões para a classe `DateTime` para facilitar a formatação em pt_BR 🇧🇷.
[![Dart](https://github.com/flutterbootcamp/brasil_datetime/actions/workflows/dart.yml/badge.svg)](https://github.com/flutterbootcamp/brasil_datetime/actions/workflows/dart.yml)
[![Codecov](https://img.shields.io/codecov/c/github/flutterbootcamp/brasil_datetime)](https://codecov.io/gh/flutterbootcamp/brasil_datetime)

![Codecov](https://img.shields.io/codecov/c/github/flutterbootcamp/brasil_datetime)
## Visão Geral

[![Dart](https://github.com/flutterbootcamp/brasil_datetime/actions/workflows/dart.yml/badge.svg)](https://github.com/flutterbootcamp/brasil_datetime/actions/workflows/dart.yml)
Este pacote oferece um conjunto de extensões para a classe `DateTime` do Dart, permitindo a formatação de datas e horas de maneira simples e intuitiva, seguindo as convenções brasileiras.

## Instalação

Adicione `brasil_datetime` ao seu arquivo `pubspec.yaml`:

```yaml
dependencies:
brasil_datetime: ^0.3.5
```

## Apresentação
Em seguida, importe o pacote em seu código Dart:

Este package facilita a manipulação de objetos `DateTime` de acordo com o padrão e formato brasileiro.
```dart
import 'package:brasil_datetime/brasil_datetime.dart';
```

## Extensões
## Como Usar

Para qualquer objeto `DateTime`, as extensões abaixos estão disponíveis:
As extensões estão disponíveis diretamente em qualquer objeto `DateTime`.

```dart
// objeto de exemplo
final data = DateTime(1987, 4, 22, 23, 37, 06);

data.diaMesAno(); // 22/04/1987
data.diaMesAnoHoraMinuto(); // 22/04/1987 23:37
data.dia(); // 22
data.diaSemana(); // quarta-feira
data.diaSemanaAbrev(); // qua.
data.mes(); // abril
data.mesAbrev(); // abr.
data.mesNoAno(); // 4
data.diaMes(); // 22/4
data.diaMesAbrev(); // 22 de abr.
data.diaSemanaMesAbrev(); // qua., 22 de abr.
data.diaSemanaEMes(); // qua., 22/04
data.diaMesExt(); // 22 de abril
data.diaSemanaMesExt(); // quarta-feira, 22 de abril
data.trimestreAbrev(); // T2
data.trimestre(); // 2º trimestre
data.ano(); // 1987
data.anoMes(); // 04/1987
data.semanaDiaMesAnoAbrev(); // qua., 22/04/1987
data.mesAnoAbrev(); // abr. de 1987
data.diaMesAnoAbrev(); // 22 de abr. de 1987
data.semanaDiaMesAnoExtAbrev(); // qua., 22 de abr. de 1987
data.mesAnoExt(); // abril de 1987
data.diaMesAnoExt(); // 22 de abril de 1987
data.semanaDiaMesAnoExt(); // quarta-feira, 22 de abril de 1987
data.trimestreAnoAbrev(); // T2 de 1987
data.hora(); // 23
data.horaMinuto(); // 23:37
data.minuto(); // 37
data.segundo(); // 6
data.minutoSegundo(); // 37:06
void main() {
final agora = DateTime.now();

// Exemplo de uso
print('Data completa: ${agora.diaMesAno()}'); // Saída: 25/10/2023
print('Dia por extenso: ${agora.diaSemana()}'); // Saída: quarta-feira
print('Mês por extenso: ${agora.mesExt()}'); // Saída: outubro
}
```

## Extensões Disponíveis

Abaixo estão todas as extensões disponíveis para formatação.

### Data

| Método | Descrição | Exemplo (para `DateTime(1987, 4, 22)`) |
| --------------------- | ------------------------------------------------- | -------------------------------------- |
| `dia()` | Dia do mês | `22` |
| `diaSemana()` | Nome do dia da semana | `quarta-feira` |
| `diaSemanaAbrev()` | Nome abreviado do dia da semana | `qua.` |
| `mes()` | Nome do mês | `abril` |
| `mesAbrev()` | Nome abreviado do mês | `abr.` |
| `mesNoAno()` | Número do mês no ano | `4` |
| `diaMes()` | Dia e mês (`dd/MM`) | `22/04` |
| `diaMesAbrev()` | Dia e mês abreviado (`dd 'de' MMM`) | `22 de abr.` |
| `diaSemanaEMes()` | Dia da semana e mês (`EEE, dd/MM`) | `qua., 22/04` |
| `diaMesExt()` | Dia e mês por extenso (`d 'de' MMMM`) | `22 de abril` |
| `diaSemanaMesExt()` | Dia da semana e mês por extenso | `quarta-feira, 22 de abril` |
| `trimestreAbrev()` | Trimestre abreviado (`T1`, `T2`, etc.) | `T2` |
| `trimestre()` | Trimestre por extenso | `2º trimestre` |
| `ano()` | Ano (`yyyy`) | `1987` |
| `anoMes()` | Mês e ano (`MM/yyyy`) | `04/1987` |
| `diaMesAno()` | Data completa (`dd/MM/yyyy`) | `22/04/1987` |
| `semanaDiaMesAnoAbrev()`| Data com dia da semana abreviado | `qua., 22/04/1987` |
| `mesAnoAbrev()` | Mês abreviado e ano (`MMM 'de' yyyy`) | `abr. de 1987` |
| `diaMesAnoAbrev()` | Data com mês abreviado | `22 de abr. de 1987` |
| `semanaDiaMesAnoExtAbrev()`| Data com dia e mês abreviados | `qua., 22 de abr. de 1987` |
| `mesAnoExt()` | Mês por extenso e ano (`MMMM 'de' yyyy`) | `abril de 1987` |
| `diaMesAnoExt()` | Data com mês por extenso | `22 de abril de 1987` |
| `semanaDiaMesAnoExt()`| Data completa por extenso | `quarta-feira, 22 de abril de 1987` |
| `trimestreAnoAbrev()` | Trimestre abreviado e ano (`QQQ 'de' yyyy`) | `T2 de 1987` |

### Hora

| Método | Descrição | Exemplo (para `DateTime(..., 23, 37, 06)`) |
| ------------------- | ------------------------------------- | ------------------------------------------ |
| `hora()` | Hora (`HH`) | `23` |
| `horaMinuto()` | Hora e minuto (`HH:mm`) | `23:37` |
| `horaMinutoSegundo()`| Hora, minuto e segundo (`HH:mm:ss`) | `23:37:06` |
| `minuto()` | Minuto (`mm`) | `37` |
| `segundo()` | Segundo (`ss`) | `06` |
| `minutoSegundo()` | Minuto e segundo (`mm:ss`) | `37:06` |

### Data e Hora

| Método | Descrição | Exemplo (para `DateTime(1987, 4, 22, 23, 37)`) |
| ---------------------- | --------------------------------------- | ---------------------------------------------- |
| `diaMesAnoHoraMinuto()`| Data e hora (`dd/MM/yyyy HH:mm`) | `22/04/1987 23:37` |

---

## Contribuidores

Agradecemos a todos que contribuíram para este projeto!

<a href="https://github.com/flutterbootcamp/brasil_datetime/graphs/contributors">
<img src="https://contrib.rocks/image?repo=flutterbootcamp/brasil_datetime" />
</a>

Made with [contrib.rocks](https://contrib.rocks).
Feito com [contrib.rocks](https://contrib.rocks).
35 changes: 7 additions & 28 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,18 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
sha256: da0d9209ca76bde579f2da330aeb9df62b6319c834fa7baae052021b0462401f
url: "https://pub.dev"
source: hosted
version: "76.0.0"
_macros:
dependency: transitive
description: dart
source: sdk
version: "0.3.3"
version: "85.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
sha256: "974859dc0ff5f37bc4313244b3218c791810d03ab3470a579580279ba971a48d"
url: "https://pub.dev"
source: hosted
version: "6.11.0"
version: "7.7.1"
args:
dependency: transitive
description:
Expand Down Expand Up @@ -52,7 +47,7 @@ packages:
path: ".."
relative: true
source: path
version: "0.3.4"
version: "0.3.5"
clock:
dependency: transitive
description:
Expand Down Expand Up @@ -125,14 +120,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.2"
http:
dependency: transitive
description:
name: http
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
url: "https://pub.dev"
source: hosted
version: "1.2.2"
http_multi_server:
dependency: transitive
description:
Expand All @@ -153,10 +140,10 @@ packages:
dependency: transitive
description:
name: intl
sha256: "00f33b908655e606b86d2ade4710a231b802eec6f11e87e4ea3783fd72077a50"
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
url: "https://pub.dev"
source: hosted
version: "0.20.1"
version: "0.20.2"
io:
dependency: transitive
description:
Expand Down Expand Up @@ -189,14 +176,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.0"
macros:
dependency: transitive
description:
name: macros
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.dev"
source: hosted
version: "0.1.3-main.0"
matcher:
dependency: transitive
description:
Expand Down
Loading