Boa tarde
Preciso de ajuda para validar um campo data e nao estou conseguindo, pode ser usando expressoes regulares ou qualquer outra coisa, gostaria que me explicassem tambem se possivel, que nao adianta nada me passar a soluçao direto, apesar de resolver aparentemente o problema.
Quero entender mesmo como validar o campo data no formato que citei
tentei isso:
public static void main(String[] args){
String teste3 = "20050902 - testando data no formato ano/mes/dia";
Pattern pattern3 = Pattern.compile("[^\d{4}(0[0-9]|1[0,1,2])([0,1,2][0-9]|3[0,1])$]*"); // nao sei como montar essa expressao, encontrei essa na internet
Matcher matcher3 = pattern3.matcher(teste3.substring(0,8));
if (matcher3.matches()) {
System.out.println(matcher3.group() + " data valida");
}else {
System.out.println("erro na data");
}
}
Preciso muito de ajuda para fazer isso
aguardo respostas
--------------------SOLUÇÃO------------------------------
import java.text.ParseException;
public static void main(String[] args) throws java.text.ParseException{
String texto = "20110802";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
sdf.setLenient(false);
try {
sdf.parse(texto);
System.out.println("Data esta certa");
}
catch (ParseException ex) {
System.out.println("Data errada");
ex.getMessage();
}
}