Convertendo string para data em Java: como fazer o parsing correto de uma data a partir de uma string?
Olá a todos! Sou novo em Java e estou quebrando a cabeça com um problema há várias horas. Preciso converter a string "2023-05-15 14:30:00" em um objeto Date. Tentei usar SimpleDateFormat, mas nada funciona.
Aqui está meu código:
String dateStr = "2023-05-15 14:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
O compilador reclama de uma exceção não capturada ParseException. Adicionei throws ParseException no método main, mas agora o programa simplesmente fecha com erro. Tentei formatos diferentes — "dd.MM.yyyy", "MM/dd/yyyy" — ainda assim erro.
Também ouvi dizer que SimpleDateFormat não é thread-safe, mas por enquanto estou trabalhando em uma única thread. Talvez o problema seja que estou usando Java 8? Li que surgiu uma nova API java.time, mas não sei como usá-la.
Por favor, me digam como converter corretamente uma string em data no Java moderno? E o que fazer com esse ParseException? Desde já agradeço!
P.S. A string vem