Você está aqui: Java ::: Dicas & Truques ::: Data e Hora |
Como ler uma data informada pelo usuário em Java, fazer a validação usando SimpleDateFormat e retornar um objeto DateQuantidade de visualizações: 528 vezes |
Em várias situações nossas aplicações Java precisam ler datas informadas pelo usuário ou vindas de arquivos, e, uma das maiores dores de cabeça que temos é validar essas datas corretamente, de forma a evitar cálculos errados. Nesta dica mostrarei como podemos usar um objeto da classe SimpleDateFormat e o seu método parse() para ler uma data em formato de string e retornar um objeto Date. Note que a data será informada pelo usuário e lida por meio do método nextLine() da classe Scanner. Observe também o valor false passado para o método setLenient() da classe SimpleDateFormat para reforçar a validação da data e não permitir valores que excedem o mínimo e máximo permitido para a faixa de dias e meses. Veja o código Java completo para o exemplo: package estudos; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler a data System.out.print("Informe uma data (DD/MM/AAAA): "); String data = entrada.nextLine(); // mostramos os resultados System.out.println("Você informou a data: " + data); try{ System.out.println("O objeto Date construído foi: " + lerData(data)); } catch(ParseException pe){ System.out.println("Erro: " + pe); } } // função que lê a data informada pelo usuário, faz // a validação e retorna um novo objeto Date contendo a // data informada public static Date lerData(String data) throws ParseException{ Ao executar este código Java nós teremos o seguinte resultado: Informe uma data (DD/MM/AAAA): 02/10/2021 Você informou a data: 02/10/2021 O objeto Date construído foi: Sat Oct 02 00:00:00 BRT 2021 Informe uma data (DD/MM/AAAA): 24/14/2020 Você informou a data: 24/14/2020 Erro: java.text.ParseException: Unparseable date: "24/14/2020" |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |