DateTimeFormatter:
É introduzido no Java 8 para formatar o valor da data. É usado para formatar ZoneDateTime, LocalDateTime, LocalDate, e Horário local. O objeto DateTimeFormatter pode ser criado usando um padrão embutido, um padrão personalizado e um estilo localizado. Alguns usos desta classe são mostrados neste tutorial com vários exemplos.
SimpleDateFormat:
É usado para formatar e analisar valores de data com suporte local. A conversão de data para string e string para data pode ser feita facilmente usando esta classe. É criado estendendo o Formato de data aula. Alguns usos desta classe são mostrados neste tutorial com vários exemplos.
Exemplo-1: formatar a data usando DateTimeFormatter e o padrão embutido
O formato de data e hora de DateTimeFormatter é fixo para o embutido padronizar. O valor de data e hora será impresso com base no embutido padrão usado no código. ISO_DATE padrão é usado no código a seguir que imprime a data no formato, aaaa-mm-dd. A data atual é lida aqui usando o método chamado agora() do LocalDate classe que retorna o valor de data formatado na string.
importar java.Tempo.formato.DateTimeFormatter;importar java.Tempo.LocalDate;
public class date2
public static void main (String [] args)
// Criar objeto DateTimeFormatter
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Cria um objeto string para ler a data local
String DateObject = format_object.formato (LocalDate.agora());
// Imprime a data atual
Sistema.Fora.println ("Hoje é" + DateObject);
Resultado:
A imagem a seguir mostra a saída do código acima. A saída dependerá da data atual do sistema.
Exemplo-2: formatar a data usando DateTimeFormatter e um padrão personalizado
Você pode imprimir o valor da data em um formato mais legível, usando o padrão personalizado de DateTimeFormatter. O padrão usado no exemplo a seguir imprimirá o dia da semana atual com o valor da data. ofPattern () método é usado aqui para definir o padrão do valor da data. No padrão, 'EEEE ' é usado para imprimir o dia da semana em sua forma completa, 'dd ' é usado para imprimir o dia, 'MMMM'é usado para imprimir o nome do mês em sua forma completa e 'aaaa' é usado para imprimir os quatro dígitos do ano. O agora() método de LocalDateTime é usado aqui para ler a data e hora do sistema atual. O formato() método é usado para retornar o valor de data formatado em string com base no padrão.
importar java.Tempo.formato.DateTimeFormatter;importar java.Tempo.LocalDateTime;
public class date1
public static void main (String [] args)
// Criar objeto formatador usando ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern ("EEEE, dd MMMM aaaa.");
// Crie um objeto data-hora local
LocalDateTime dateTimeObj = LocalDateTime.agora();
// Obter String formatada
String stringDate = format_object.formato (dateTimeObj);
// Imprime a data formatada
Sistema.Fora.println ("Hoje é" + stringData);
Resultado:
A imagem a seguir mostra a saída do código acima. A saída dependerá da data atual do sistema.
Exemplo-3: formatar a data usando SimpleTimeFormat e o método format ()
O exemplo a seguir mostra o uso de SimpleTimeFormat para imprimir o valor de data e hora formatado com base no padrão usado. Aqui, “dd MMMM aaaa, EEEE, hh: mm a” é usado como um padrão no código. O significado de cada parte do padrão sem 'hh' e 'mm' é explicado no exemplo anterior. 'hh ' é usado aqui para imprimir o valor da hora atual, e 'milímetros'é usado para imprimir o valor do minuto atual. Data classe é usada no código para ler a data e hora do sistema atual. O formato() método é usado para retornar os valores de data e hora formatados em string com base no padrão usado.
importar java.texto.SimpleDateFormat;importar java.util.Data;
public class date3
public static void main (String [] args)
// Defina o padrão
Padrão de string = "dd MMMM aaaa, EEEE, hh: mm a";
// Criar objeto SimpleDateFormat
SimpleDateFormat simpleDateFormat = new SimpleDateFormat (padrão);
// Converta a data para o valor da string
String dateVal = simpleDateFormat.formato (nova data ());
// Divida o valor da data com base na vírgula (,)
String [] today_arr = dateVal.dividir(",");
// Imprime a saída formatada
Sistema.Fora.println ("Data -" + today_arr [0] + "\ nDia -" + today_arr [1] +
"\ nHora -" + today_arr [2]);
Resultado:
A imagem a seguir mostra a saída do código acima. A saída dependerá da data e hora do sistema atual.
Exemplo 4: formatar a data usando o método SimpleTimeFormat e parse ()
O exemplo a seguir mostra o uso de a análise () método para ler a data atual ou uma data específica que converte o valor da string formatada em um valor de data. Aqui o “Dd / MM / aaaa” padrão é usado para definir a data específica para o parse () método. O valor da data atual é lido por Data classe e retornou o valor como uma string. Este valor é novamente convertido em valor de data usando o parse () método. Em seguida, um determinado valor de data é definido como uma string no método parse () de acordo com o padrão. O valor é convertido em uma data como antes.
importar java.texto.SimpleDateFormat;importar java.util.Data;
public class date4
public static void main (String [] args)
// Defina o padrão
Padrão de string = "dd / MM / aaaa";
tentar
// Criar objeto SimpleDateFormat
SimpleDateFormat format_object = new SimpleDateFormat (padrão);
// Converte a data atual para o valor da string
String dateVal = format_object.formato (nova data ());
// Converta a string para valor de data
Date date1 = format_object.parse (dateVal);
// Imprime o valor da data
Sistema.Fora.println ("A data atual é" + data1);
// Converte a string de data definida em valor de data
Data date2 = format_object.analisar ("16/12/2020");
// Imprime o valor da data
Sistema.Fora.println ("A data definida é" + data2);
pegar (java.texto.ParseException e)
// Imprimir mensagem de erro
Sistema.errar.println (e.getMessage ());
Resultado:
A seguinte saída será exibida após a execução do script, e a primeira saída dependerá da hora atual do sistema.
Conclusão:
Diferentes maneiras de formatar o valor de data são mostradas neste tutorial usando várias classes Java. O tutorial se concentra principalmente na formatação dos valores de data. Você pode formatar o valor da hora também pelas classes usadas aqui. Espero que a tarefa de formatação de data em Java seja mais fácil depois de ler este tutorial.