Advertisement
Ednan

Validador de Data JAVA

Nov 7th, 2012
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.81 KB | None | 0 0
  1. static boolean validaData(String e){        
  2.     int dia = (Integer.parseInt(String.valueOf(e.charAt(0)))*10) + Integer.parseInt(String.valueOf(e.charAt(1)));
  3.     int mes = (Integer.parseInt(String.valueOf(e.charAt(3)))*10) + Integer.parseInt(String.valueOf(e.charAt(4)));
  4.     int ano = (Integer.parseInt(String.valueOf(e.charAt(6)))*1000) + (Integer.parseInt(String.valueOf(e.charAt(7)))*100 + Integer.parseInt(String.valueOf(e.charAt(8)))*10) + (Integer.parseInt(String.valueOf(e.charAt(9))));
  5.        
  6.     int finalAno = (Integer.parseInt(String.valueOf(e.charAt(8)))*10) + (Integer.parseInt(String.valueOf(e.charAt(9))));
  7.         boolean bissexto = false;
  8.     int diaMaximo=0;
  9.         boolean dataValida=true;
  10.     Calendar cal = Calendar.getInstance();
  11.     int diaAtual = cal.get(Calendar.DATE);
  12.     int mesAtual = (cal.get(Calendar.MONTH) + 1);
  13.     int anoAtual = cal.get(Calendar.YEAR);
  14.            
  15.     if (((ano % 4) == 0) && (finalAno != 00)) {
  16.         bissexto = true;
  17.     }
  18.         if (((ano % 4) == 0) && (finalAno == 00) && ((ano%400) == 0)) {
  19.         bissexto = true;
  20.     }
  21.     if (mes == 1 | mes ==3 | mes ==5 | mes ==7 | mes ==8 | mes ==10 | mes ==12) {
  22.         diaMaximo = 31;
  23.         }
  24.     if( mes == 4 | mes ==6 | mes ==9 | mes ==11){
  25.         diaMaximo = 30;
  26.         }
  27.     if((mes == 2) && (bissexto == true)){
  28.         diaMaximo = 29;
  29.         }
  30.     if((mes == 2) && (bissexto == false)){
  31.         diaMaximo = 28;
  32.         }
  33.        
  34.     if ((mes < 1) || (mes > 12)){
  35.         dataValida=false; //mes invalido
  36.     }
  37.    
  38.         if( (dia < 1) || (dia > diaMaximo)){
  39.         dataValida = false; //dia invalido                
  40.     }
  41.    
  42.         if ((ano < 1) || (ano > anoAtual)){
  43.         dataValida = false;                
  44.     }
  45.  
  46.     if ((ano == anoAtual)&& (mes > mesAtual)){
  47.         dataValida = false;
  48.     }
  49.  
  50.         if ((ano == anoAtual)&& (mes == mesAtual) && (dia >= diaAtual)){
  51.         dataValida = false;
  52.     }      
  53.     return dataValida;
  54.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement