CARDÁPIO

Verificação de validade/existência de data Java

índice

Java dataVerificação de validade/existência Calendário.setLenient()

JavaemVerificação de validade/existência de dataEste é um programa de exemplo que faz isso.
Verifica se a sequência de data especificada (aaaa/MM/dd ou aaaa-MM-dd) existe no calendário.

java.texto.DateFormataulasetLenient()Ao especificar false, você pode realizar uma análise rigorosa de datas. (*A classe DateFormat é internamentesetLenient() na classe java.util.Calendarestá chamando. )
Este método de verificação usa o fato de que se você chamar o método parse() com uma data inválida ou inexistente, ocorrerá uma ParseException.


programa de amostra

/** * Executa uma verificação de validade de data. * Retorna se a string de data especificada (aaaa/MM/dd ou aaaa-MM-dd) * existe no calendário. * @param strDate String para verificar * @return true se a data existir */ public static boolean checkDate(String strDate) { if (strDate == null || strDate.length() != 10) { throw new IllegalArgumentException ( "O argumento string ["+ strDate +"]" + "é inválido."); } strDate = strDate.replace('-', '/'); DateFormat format = DateFormat.getDateInstance(); // Defina se deseja executar data estrita /análise de tempo. format.setLenient(false); try { format.parse(strDate); return true; } catch (Exception e) { return false; } }

Resultado da execução

◆Exemplo de execução

public static void main(String[] args) { System.out.println(checkDate("2007-01-01")); System.out.println(checkDate("2007/02/31")); System.out .println(checkDate("aaaa/31/02")); }

◆Resultado de saída

verdadeiro falso falso
  • URLをコピーしました!
índice