Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static boolean validaData(String e){
- int dia = (Integer.parseInt(String.valueOf(e.charAt(0)))*10) + Integer.parseInt(String.valueOf(e.charAt(1)));
- int mes = (Integer.parseInt(String.valueOf(e.charAt(3)))*10) + Integer.parseInt(String.valueOf(e.charAt(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))));
- int finalAno = (Integer.parseInt(String.valueOf(e.charAt(8)))*10) + (Integer.parseInt(String.valueOf(e.charAt(9))));
- boolean bissexto = false;
- int diaMaximo=0;
- boolean dataValida=true;
- Calendar cal = Calendar.getInstance();
- int diaAtual = cal.get(Calendar.DATE);
- int mesAtual = (cal.get(Calendar.MONTH) + 1);
- int anoAtual = cal.get(Calendar.YEAR);
- if (((ano % 4) == 0) && (finalAno != 00)) {
- bissexto = true;
- }
- if (((ano % 4) == 0) && (finalAno == 00) && ((ano%400) == 0)) {
- bissexto = true;
- }
- if (mes == 1 | mes ==3 | mes ==5 | mes ==7 | mes ==8 | mes ==10 | mes ==12) {
- diaMaximo = 31;
- }
- if( mes == 4 | mes ==6 | mes ==9 | mes ==11){
- diaMaximo = 30;
- }
- if((mes == 2) && (bissexto == true)){
- diaMaximo = 29;
- }
- if((mes == 2) && (bissexto == false)){
- diaMaximo = 28;
- }
- if ((mes < 1) || (mes > 12)){
- dataValida=false; //mes invalido
- }
- if( (dia < 1) || (dia > diaMaximo)){
- dataValida = false; //dia invalido
- }
- if ((ano < 1) || (ano > anoAtual)){
- dataValida = false;
- }
- if ((ano == anoAtual)&& (mes > mesAtual)){
- dataValida = false;
- }
- if ((ano == anoAtual)&& (mes == mesAtual) && (dia >= diaAtual)){
- dataValida = false;
- }
- return dataValida;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement