Validação de Datas

6 respostas
J

Olá Galera, é o meu primeiro post neste forum.

Estou com probleminha :oops: espero que vocês possam me ajudar.

Tenho uma string data 31092004 é preciso saber se a data é valida ou não ? Existe isto pronto em java ou preciso criar um algoritmo para resolver este problema.

Estou no aguardo.

att.

Ju

6 Respostas

danieldestro

No seu caso:

String d1 = "21092004"; SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy"); Date d = sdf.parse(d1);

Se lançar uma exceção, a data é inválida.

J

Tentei amigo mas não deu certo. :cry:

cv1

O que nao deu certo?

hmichel

Na apache, tem o jakarta commns validator, com validador de datas, da uma estudada que eh tranquilo.

J

não lançou a exceção para a data 31092004 ou qualquer data invalida:

String d1 = "31092004"; 
		SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy"); 
		try {
			Date d = sdf.parse(d1);
			System.out.println(d);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			
			e.printStackTrace();
		}
TaQ

Ou, vocês esqueceram da setLenient no SimpleDateFormat:

import java.util.*;
import java.text.*;

public class Teste {
	public static void main(String args[]){
		String d1 = "31092004";
      SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy");
		sdf.setLenient(false);
      try {
         Date d = sdf.parse(d1);
         System.out.println(d);
      } catch (ParseException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      } 
	}
}
Criado 21 de setembro de 2004
Ultima resposta 21 de set. de 2004
Respostas 6
Participantes 5