10.4 Formatando com a nova API de datas

Formatação de datas e horas Para formatar objetos como LocalDateTime, basta usar o método .format() passando um DateTimeFormatter. LocalDateTime agora = LocalDateTime.now(); String resultado = agora.format(DateTimeFormatter.ISO_LOCAL_TIME); Resultado: hh:mm:ss (exemplo: 01:15:45) O Java possui vários DateTimeFormatter prontos, como: ISO_LOCAL_TIME ISO_LOCAL_DATE ISO_DATE_TIME entre outros. Criando seu próprio padrão de formatação Para criar um padrão personalizado, usa-se DateTimeFormatter.ofPattern("padrão"). DateTimeFormatter formatador = DateTimeFormatter.ofPattern("dd/MM/yyyy"); String resultado = agora.format(formatador); Resultado: 06/02/2014 Também é possível passar o Locale para definir o formato conforme a região: DateTimeFormatter.ofPattern("dd/MM/yyyy", new Locale("pt")); Convertendo String para Data (Parse) Para transformar uma String em um objeto de data: use o método .parse() do tipo de data desejado. LocalDate agoraEmData = LocalDate.parse(resultado, formatador); Se a String possui apenas data (dd/MM/yyyy), deve-se usar LocalDate. Não é possível converter diretamente para LocalDateTime, pois informações de hora se perdem. Caso tente, ocorrerá uma exceção DateTimeParseException. Exemplo: ExemploFormatacaoDataHora.java

Apr 8, 2025 - 01:56
 0
10.4 Formatando com a nova API de datas

Formatação de datas e horas

Para formatar objetos como LocalDateTime, basta usar o método .format() passando um DateTimeFormatter.

LocalDateTime agora = LocalDateTime.now();
String resultado = agora.format(DateTimeFormatter.ISO_LOCAL_TIME);

Resultado: hh:mm:ss (exemplo: 01:15:45)

O Java possui vários DateTimeFormatter prontos, como:

  • ISO_LOCAL_TIME

  • ISO_LOCAL_DATE

  • ISO_DATE_TIME

  • entre outros.

Criando seu próprio padrão de formatação

Para criar um padrão personalizado, usa-se DateTimeFormatter.ofPattern("padrão").

DateTimeFormatter formatador = DateTimeFormatter.ofPattern("dd/MM/yyyy");
String resultado = agora.format(formatador);

Resultado: 06/02/2014

Também é possível passar o Locale para definir o formato conforme a região:

DateTimeFormatter.ofPattern("dd/MM/yyyy", new Locale("pt"));

Convertendo String para Data (Parse)

Para transformar uma String em um objeto de data: use o método .parse() do tipo de data desejado.

LocalDate agoraEmData = LocalDate.parse(resultado, formatador);

Se a String possui apenas data (dd/MM/yyyy), deve-se usar LocalDate.
Não é possível converter diretamente para LocalDateTime, pois informações de hora se perdem. Caso tente, ocorrerá uma exceção DateTimeParseException.

Exemplo: ExemploFormatacaoDataHora.java