Pessoal to tentando fazer um “dateParser”
Que teoricamente poderia receber uma data formatada em qualquer formato e a transformaria para tipo date
existe a possibilidade do meu código estar quebrado pois nunca foi testado.
oque acontece é o seguinte pra cada formato de data eu teria q criar um novo “if” oque não é nem um pouco elegante.
pensei em utilizar um enum mas não sei se seria a melhor opção…
segue ideia de cód…
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateParser {
@SuppressWarnings("unused")
private static Date parse(String date) {
String formatoDeEntrada = null;
if(date.matches("[0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4}")) formatoDeEntrada = "dd/MM/yyyy";
if(date.matches("[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}")) formatoDeEntrada = "yyyy-MM-dd";
if(date.matches("[0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4} [0-9]{2}:[0-9]{2}:[0-9]{2}")) formatoDeEntrada = "dd/MM/yyyy kk:MM:ss";
if(date.matches("[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2}")) formatoDeEntrada = "yyyy-MM-dd kk:MM:ss";
Date parsedDate = null;
try {
parsedDate = new SimpleDateFormat(formatoDeEntrada).parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return parsedDate;
}
}