Caros,
tenho um sistema para gerar relatórios que utiliza um método pra retornar a próxima sexta ou domingo.
Executando localmente no windows ele está funcionando, porém quando é executado num servidor linux ele retorna a mensagem de erro Erro: diaSemana.getProxDomingoSegunda:Unparseable date: “20/12/2009”. Alguém poderia ajudar a resolver este problema.
Segue o código abaixo:
// BUSCA A DATA DA PRÓXIMO SEXTA-FEIRA E DO PRÓXIMO DOMINGO;
public static ArrayList getProxSextaDomingo(String stDt, String dia) {
java.util.ArrayList retorno=new ArrayList();
int soma=0;
int diaMes=0, mes=0, ano=0;
String diaM="0";
try {
DateFormat dtFormat = DateFormat.getDateInstance();
Date dtFormated = dtFormat.parse(stDt);
Calendar cal = new GregorianCalendar();
Calendar calUltimo = new GregorianCalendar();
Calendar calPrimeiroProxSemana = new GregorianCalendar();
cal.setTime(dtFormated);
int dayOfWeek = cal.get(java.util.Calendar.DAY_OF_WEEK);
if (dayOfWeek == 1){
//Domingo
soma=5;
}
if (dayOfWeek == 2){
//Segunda-Feira;
soma=4;
}
if (dayOfWeek == 3){
//Terça-Feira;
soma=3;
}
if (dayOfWeek == 4){
//Quarta-Feira;
soma=2;
}
if (dayOfWeek == 5){
//Quinta-Feira;
soma=1;
}
if (dayOfWeek == 6){
//Sexta-Feira;
soma=7;
}
if (dayOfWeek == 7){
//Sábado;
soma=6;
}
calUltimo.setTime(dtFormated);
calPrimeiroProxSemana.setTime(dtFormated);
calUltimo.add(Calendar.DAY_OF_MONTH, soma);
calPrimeiroProxSemana.add(Calendar.DAY_OF_MONTH, soma+2);
if(dia.equals("DOMINGO")){
diaMes=calPrimeiroProxSemana.get(java.util.Calendar.DAY_OF_MONTH);
if(diaMes<10){
diaM="0"+diaMes;
}else{
diaM=String.valueOf(diaMes);
}
mes=calPrimeiroProxSemana.get(java.util.Calendar.MONTH)+1;
ano=calPrimeiroProxSemana.get(java.util.Calendar.YEAR);
retorno.add(diaM +"/"+mes+"/"+ano);
retorno.add(mes+"/"+ano);
}else{
diaMes=calUltimo.get(java.util.Calendar.DAY_OF_MONTH);
if(diaMes<10){
diaM="0"+diaMes;
}else{
diaM=String.valueOf(diaMes);
}
mes=calUltimo.get(java.util.Calendar.MONTH)+1;
ano=calUltimo.get(java.util.Calendar.YEAR);
retorno.add(diaM+"/"+mes+"/"+ano);
retorno.add(String.valueOf(mes)+"/"+ano);
}
} catch (Exception e) {
Mail.mailConfirmacao("getProxSextaDomingo - Erro: diaSemana.getProxDomingoSegunda:" + e.getMessage());
System.out.println("Erro: diaSemana.getProxDomingoSegunda:" + e);
return retorno;
}
return retorno;
}
Grato.