diff --git a/README.md b/README.md index 7255b3a..5215ad9 100644 --- a/README.md +++ b/README.md @@ -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! + -Made with [contrib.rocks](https://contrib.rocks). \ No newline at end of file +Feito com [contrib.rocks](https://contrib.rocks). \ No newline at end of file diff --git a/example/pubspec.lock b/example/pubspec.lock index ea31829..9f9decc 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -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: @@ -52,7 +47,7 @@ packages: path: ".." relative: true source: path - version: "0.3.4" + version: "0.3.5" clock: dependency: transitive description: @@ -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: @@ -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: @@ -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: diff --git a/lib/brasil_datetime.dart b/lib/brasil_datetime.dart index fab4417..f2ddc47 100644 --- a/lib/brasil_datetime.dart +++ b/lib/brasil_datetime.dart @@ -5,11 +5,32 @@ import 'package:intl/intl.dart'; const br = 'pt_BR'; -/// Extensões para objetos DateTime em pt_BR +/// Extensões para objetos [DateTime] que facilitam a formatação de data e hora +/// para o formato brasileiro (pt_BR). +/// +/// Para utilizar, basta importar a biblioteca e chamar os métodos em uma instância +/// de `DateTime`. +/// +/// Exemplo: +/// ```dart +/// import 'package:brasil_datetime/brasil_datetime.dart'; +/// +/// void main() { +/// final agora = DateTime.now(); +/// print(agora.dia()); // Exibe o dia do mês. +/// print(agora.mesExt()); // Exibe o nome do mês por extenso. +/// } +/// ``` extension BrasilDateTime on DateTime { - /// Retorna o dia. + /// Retorna o dia do mês como uma `String`. /// - /// Ex: `22` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 10, 22); + /// print(data.dia()); // '22' + /// ``` + /// + /// O valor retornado é uma `String`. String dia() { initializeDateFormatting(); return DateFormat.d(br).format(this); @@ -17,15 +38,27 @@ extension BrasilDateTime on DateTime { /// Retorna o dia da semana abreviado. /// - /// Ex: `qua.` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 10, 25); // Uma quarta-feira + /// print(data.diaSemanaAbrev()); // 'qua.' + /// ``` + /// + /// O valor retornado é uma `String`. String diaSemanaAbrev() { initializeDateFormatting(); return DateFormat.E(br).format(this); } - /// Retorna o dia da semana. + /// Retorna o nome completo do dia da semana. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 10, 25); // Uma quarta-feira + /// print(data.diaSemana()); // 'quarta-feira' + /// ``` /// - /// Ex: `quarta-feira` + /// O valor retornado é uma `String`. String diaSemana() { initializeDateFormatting(); return DateFormat.EEEE(br).format(this); @@ -33,239 +66,447 @@ extension BrasilDateTime on DateTime { /// Retorna o nome do mês abreviado. /// - /// Ex: `abr.` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); + /// print(data.mesAbrev()); // 'abr.' + /// ``` + /// + /// O valor retornado é uma `String`. String mesAbrev() { initializeDateFormatting(); return DateFormat.LLL(br).format(this); } - /// Retorna o nome do mês. + /// Retorna o nome completo do mês. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); + /// print(data.mes()); // 'abril' + /// ``` /// - /// Ex: `abril` + /// O valor retornado é uma `String`. String mes() { initializeDateFormatting(); return DateFormat.LLLL(br).format(this); } - /// Retorna `1` até `12` de acordo com o mês do ano. + /// Retorna o número do mês no ano (de `1` a `12`). + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); + /// print(data.mesNoAno()); // '4' + /// ``` + /// + /// O valor retornado é uma `String`. String mesNoAno() { initializeDateFormatting(); return DateFormat.M(br).format(this); } - /// Retorna dia e mês no formato `dd/mm`. + /// Retorna o dia e o mês no formato `dd/MM`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); + /// print(data.diaMes()); // '22/04' + /// ``` /// - /// Ex: `22/04` + /// O valor retornado é uma `String`. String diaMes() { initializeDateFormatting(); return DateFormat.Md(br).format(this); } - /// Retorna dia da semana e mês no formato `[semana], dd/mm`. + /// Retorna o dia da semana abreviado e o mês no formato `[semana], dd/MM`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); // Um sábado + /// print(data.diaSemanaEMes()); // 'sáb., 22/04' + /// ``` /// - /// Ex: `qua., 22/04` + /// O valor retornado é uma `String`. String diaSemanaEMes() { initializeDateFormatting(); return DateFormat.MEd(br).format(this); } - /// Retorna o dia da semana e mês no formato `[dia] de [mes]`. + /// Retorna o dia e o mês abreviado no formato `dd 'de' MMM`. /// - /// Ex: `22 de abr.` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); + /// print(data.diaMesAbrev()); // '22 de abr.' + /// ``` + /// + /// O valor retornado é uma `String`. String diaMesAbrev() { initializeDateFormatting(); return DateFormat.MMMd(br).format(this); } - /// Retorna dia, mês e ano no formato `dd/mm/aaaa`. + /// Retorna o dia da semana abreviado, o dia do mês e o mês abreviado. + /// + /// Formato: `EEE, dd 'de' MMM`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); // Um sábado + /// print(data.diaSemanaMesAbrev()); // 'sáb., 22 de abr.' + /// ``` /// - /// Ex: `22/04/1987`. + /// O valor retornado é uma `String`. String diaSemanaMesAbrev() { initializeDateFormatting(); return DateFormat.MMMEd(br).format(this); } - /// Retorna dia e mês por extenso no formato: `[dia] de [mes]`. + /// Retorna o dia e o mês por extenso no formato `d 'de' MMMM`. /// - /// Ex: `22 de abril` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); + /// print(data.diaMesExt()); // '22 de abril' + /// ``` + /// + /// O valor retornado é uma `String`. String diaMesExt() { initializeDateFormatting(); return DateFormat.MMMMd(br).format(this); } - /// Retorna dia da seamana e mês por extenso no formato: `[semana], [dia] de [mes]`. + /// Retorna o dia da semana e o mês por extenso. + /// + /// Formato: `EEEE, d 'de' MMMM`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); // Um sábado + /// print(data.diaSemanaMesExt()); // 'sábado, 22 de abril' + /// ``` /// - /// Ex: `quarta-feira, 22 de abril` + /// O valor retornado é uma `String`. String diaSemanaMesExt() { initializeDateFormatting(); return DateFormat.MMMMEEEEd(br).format(this); } - /// Retorna de `1` a `4` de acordo com o trimestre no formato: `T[trimestre]`. + /// Retorna o trimestre do ano de forma abreviada (`T1`, `T2`, `T3`, `T4`). /// - /// Ex: `T2` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); // Mês 4, segundo trimestre + /// print(data.trimestreAbrev()); // 'T2' + /// ``` + /// + /// O valor retornado é uma `String`. String trimestreAbrev() { initializeDateFormatting(); return DateFormat.QQQ(br).format(this); } - /// Retorna de `1` a `4` de acordo com o trimestre no formato: `T[trimestre]`. + /// Retorna o trimestre do ano por extenso. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 4, 22); // Mês 4, segundo trimestre + /// print(data.trimestre()); // '2º trimestre' + /// ``` /// - /// Ex: `2º trimestre` + /// O valor retornado é uma `String`. String trimestre() { initializeDateFormatting(); return DateFormat.QQQQ(br).format(this); } - /// Retorna ano. + /// Retorna o ano no formato `yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.ano()); // '1987' + /// ``` /// - /// Ex: `1987` + /// O valor retornado é uma `String`. String ano() { initializeDateFormatting(); return DateFormat.y(br).format(this); } - /// Retorna mês e ano no formato `mm/aaaa`. + /// Retorna o mês e o ano no formato `MM/yyyy`. /// - /// Ex: `04/1987` + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.anoMes()); // '04/1987' + /// ``` + /// + /// O valor retornado é uma `String`. String anoMes() { initializeDateFormatting(); return DateFormat.yM(br).format(this); } - /// Retorna dia, mês e ano no formato `dd/mm/aaaa`. + /// Retorna a data completa no formato `dd/MM/yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.diaMesAno()); // '22/04/1987' + /// ``` /// - /// Ex: `22/04/1987` + /// O valor retornado é uma `String`. String diaMesAno() { initializeDateFormatting(); return DateFormat.yMd(br).format(this); } - /// Retorna dia da semana, mês e ano no formato `[semana], dd/mm/aaaa`. + /// Retorna a data com o dia da semana abreviado. + /// + /// Formato: `EEE, dd/MM/yyyy`. /// - /// Ex: `qua., 22/04/1987` + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); // Uma quarta-feira + /// print(data.semanaDiaMesAnoAbrev()); // 'qua., 22/04/1987' + /// ``` + /// + /// O valor retornado é uma `String`. String semanaDiaMesAnoAbrev() { initializeDateFormatting(); return DateFormat.yMEd(br).format(this); } - /// Retorna mês e ano no formato `[mes] de [aaaa]`. + /// Retorna o mês abreviado e o ano. + /// + /// Formato: `MMM 'de' yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.mesAnoAbrev()); // 'abr. de 1987' + /// ``` /// - /// Ex: `abr. de 1987` + /// O valor retornado é uma `String`. String mesAnoAbrev() { initializeDateFormatting(); return DateFormat.yMMM(br).format(this); } - /// Retorna dia, mês e ano no formato `[dia] de [mes] de [ano]`. + /// Retorna a data com o mês abreviado. /// - /// Ex: `22 de abr. de 1987` + /// Formato: `dd 'de' MMM 'de' yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.diaMesAnoAbrev()); // '22 de abr. de 1987' + /// ``` + /// + /// O valor retornado é uma `String`. String diaMesAnoAbrev() { initializeDateFormatting(); return DateFormat.yMMMd(br).format(this); } - /// Retorna dia, mês e ano por extenso e abreviado no formato `[semana, [dia] de [mes] de [ano]`. + /// Retorna a data completa com o dia da semana e o mês abreviados. + /// + /// Formato: `EEE, dd 'de' MMM 'de' yyyy`. /// - /// Ex: `qua., 22 de abr. de 1987` + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); // Uma quarta-feira + /// print(data.semanaDiaMesAnoExtAbrev()); // 'qua., 22 de abr. de 1987' + /// ``` + /// + /// O valor retornado é uma `String`. String semanaDiaMesAnoExtAbrev() { initializeDateFormatting(); return DateFormat.yMMMEd(br).format(this); } - /// Retorna mês e ano por extenso no formato `[mes] de [ano]`. + /// Retorna o mês por extenso e o ano. + /// + /// Formato: `MMMM 'de' yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.mesAnoExt()); // 'abril de 1987' + /// ``` /// - /// Ex: `abril de 1987` + /// O valor retornado é uma `String`. String mesAnoExt() { initializeDateFormatting(); return DateFormat.yMMMM(br).format(this); } - /// Retorna dia, mês e ano por extenso no formato `[dia] de [mes] de [ano]`. + /// Retorna a data com o mês por extenso. /// - /// Ex: `22 de abril de 1987` + /// Formato: `d 'de' MMMM 'de' yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); + /// print(data.diaMesAnoExt()); // '22 de abril de 1987' + /// ``` + /// + /// O valor retornado é uma `String`. String diaMesAnoExt() { initializeDateFormatting(); return DateFormat.yMMMMd(br).format(this); } - /// Retorna dia, mês e ano por extenso no formato `[semana], [dia] de [mes] de [ano]`. + /// Retorna a data completa por extenso. + /// + /// Formato: `EEEE, d 'de' MMMM 'de' yyyy`. /// - /// Ex: `quarta-feira, 22 de abril de 1987` + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); // Uma quarta-feira + /// print(data.semanaDiaMesAnoExt()); // 'quarta-feira, 22 de abril de 1987' + /// ``` + /// + /// O valor retornado é uma `String`. String semanaDiaMesAnoExt() { initializeDateFormatting(); return DateFormat.yMMMMEEEEd(br).format(this); } - /// Retorna trimestre e ano abreviado no formato `T[trimestre] de [ano]`. + /// Retorna o trimestre abreviado e o ano. + /// + /// Formato: `QQQ 'de' yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); // Segundo trimestre + /// print(data.trimestreAnoAbrev()); // 'T2 de 1987' + /// ``` /// - /// Ex: `T2 de 1987` + /// O valor retornado é uma `String`. String trimestreAnoAbrev() { initializeDateFormatting(); return DateFormat.yQQQ(br).format(this); } - /// Retorna trimestre e ano por extenso no formato `[trimestre]º trimestre de [ano]`. + /// Retorna o trimestre por extenso e o ano. /// - /// Ex: `2º trimestre de 1987` + /// Formato: `QQQQ 'de' yyyy`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22); // Segundo trimestre + /// print(data.trimestreAnoExt()); // '2º trimestre de 1987' + /// ``` + /// + /// O valor retornado é uma `String`. String trimestreAnoExt() { initializeDateFormatting(); return DateFormat.yQQQQ(br).format(this); } - /// Retorna hora (24h). + /// Retorna a hora no formato 24h (`HH`). + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 1, 1, 23, 37); + /// print(data.hora()); // '23' + /// ``` /// - /// Ex: `23` + /// O valor retornado é uma `String`. String hora() { initializeDateFormatting(); return DateFormat.H(br).format(this); } - /// Retorna hora e minuto (24h). + /// Retorna a hora e os minutos no formato 24h (`HH:mm`). /// - /// Ex: `23:37` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 1, 1, 23, 37); + /// print(data.horaMinuto()); // '23:37' + /// ``` + /// + /// O valor retornado é uma `String`. String horaMinuto() { initializeDateFormatting(); return DateFormat.Hm(br).format(this); } - /// Retorna hora, minuto e segundo (24h). + /// Retorna a hora, os minutos e os segundos no formato 24h (`HH:mm:ss`). + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 1, 1, 23, 37, 06); + /// print(data.horaMinutoSegundo()); // '23:37:06' + /// ``` /// - /// Ex: `23:37:06` + /// O valor retornado é uma `String`. String horaMinutoSegundo() { initializeDateFormatting(); return DateFormat.Hms(br).format(this); } - /// Retorna minuto. + /// Retorna os minutos da hora. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 1, 1, 23, 37); + /// print(data.minuto()); // '37' + /// ``` /// - /// Ex: `37` + /// O valor retornado é uma `String`. String minuto() { initializeDateFormatting(); return DateFormat.m(br).format(this); } - /// Retorna segundo. + /// Retorna os segundos do minuto. /// - /// Ex: `6` + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 1, 1, 23, 37, 06); + /// print(data.segundo()); // '6' + /// ``` + /// + /// O valor retornado é uma `String`. String segundo() { initializeDateFormatting(); return DateFormat.s(br).format(this); } - /// Retorna minuto e segundo (24h). + /// Retorna os minutos e os segundos. + /// + /// Formato: `mm:ss`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(2023, 1, 1, 23, 37, 06); + /// print(data.minutoSegundo()); // '37:06' + /// ``` /// - /// Ex: `37:06` + /// O valor retornado é uma `String`. String minutoSegundo() { initializeDateFormatting(); return DateFormat.ms(br).format(this); } - /// Retorna dia, mes, ano, hora e minuto. + /// Retorna a data e a hora completas. + /// + /// Formato: `dd/MM/yyyy HH:mm`. + /// + /// Exemplo: + /// ```dart + /// final data = DateTime(1987, 4, 22, 23, 37); + /// print(data.diaMesAnoHoraMinuto()); // '22/04/1987 23:37' + /// ``` /// - /// Ex: `22/04/1987 23:37` + /// O valor retornado é uma `String`. String diaMesAnoHoraMinuto() { initializeDateFormatting(); return DateFormat.yMd(br).add_Hm().format(this); } -} +} \ No newline at end of file