Pessoal, Boa tarde.
Como validar uma data digitada no formato DD/MM/AAAA?
Grato.
Pessoal, Boa tarde.
Como validar uma data digitada no formato DD/MM/AAAA?
Grato.
Boa Tarde, há várias maneiras de se fazer uma validação, isso depende de que ambiente está usando…
Vai validar o que?
Web? Desktop?
flw.
De uma pesquisada antes… só aqui no GUJ deve ter “N” formas de fazer…
de uma olhada neste artigo.
Pessoal,
Ainda continuo querendo saber como validar data.
As respostas nenhuma resolveram.
Dá uma olhada em SimpleDateFormat.
Trate ParseException no momento que você estiver “parseando” a data.
Boa sorte.
Abraços!
Pode ser assim.
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
String dataFormatada = data.format( "Aqui voce passa sua data" );
//O parametro deve ser um objeto do tipo Date ou Calendar usando o getTime
[quote=fmad27]Pode ser assim.
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
String dataFormatada = data.format( "Aqui voce passa sua data" );
//O parametro deve ser um objeto do tipo Date ou Calendar usando o getTime
:D[/quote]
Cara, acho que dessa forma ele não vai validar nada… se o parâmetro já estiver no formato Date ou Calendar ele já será efetivamente um Date ou um Calendar.
Acho que ele deveria fazer algo como isso aqui:
SimpleDateFormat sdfEntrada = new SimpleDateFormat("dd/MM/yyyy");
try {
Date data = sdfEntrada.parse(String);
} catch (ParseException e) {
System.out.println("Favor digitar a data no formato informado.");
}
Onde String contém a data a ser validada
Pessoal,
Gostaria que vocês testassem antes de enviasr.
As soluções não funcionam.
Se eu coloco data “123/456/7890” é aceito sem problemas.
Tá bom… vamos lá.
A primeira coisa é que você precisa usar setLenient (false).
http://www.guj.com.br/posts/list/119856.java
A segunda coisa é que mesmo com setLenient você precisa saber se o ano obtido é inválido para o que você quer. A data “03/02/0009”, que é dois anos depois de Jesus Cristo ter pregado aos Doutores da Lei, é válida para você?
A data “03/02/7890”, onde provavelmente eles estarão começando a pensar em substituir algumas das aplicações Cobol que já estão rodando há milhares de anos, é válida para você?
Se não forem válidas, você precisa pegar o ano e ver se é muito ou pouco para você.
Acrescente
sdfEntrada.setLenient(false);
Agora, você poderia (e deveria) ser mais gentil. Não é a obrigação de ninguém aqui te ajudar. Ainda mais com dúvidas que com uma pesquisadinha de leve na API resolveria.
As pessoas aqui, na maioria, estão em seu local de trabalho e dedicam parte do seu tempo ajudando quem está começando.
Boa sorte.