Oiii será que alguem poderia me ajudar?
tenho este codigo
public void executar(HttpServletRequest req, HttpServletResponse res)
throws Exception {
// TODO Auto-generated method stub
String msg="", status="";
try {
String strIdProgramacao = req.getParameter("idProgramacao");
String dataInicio = req.getParameter("dataInicio");
Calendar calInicio = ConverteData.getCalendarByDataBr(dataInicio);
String dataFim = req.getParameter("dataFim");
Calendar calFim = ConverteData.getCalendarByDataBr(dataFim);
int diferencaDeDias = (int)((calFim.getTimeInMillis() -
calInicio.getTimeInMillis())/(1000*60*60*24));
HttpSession session = req.getSession();
Programacao progTemp = (Programacao)session.getAttribute("programacao");
List<Sessao> sessoes = new ArrayList<Sessao>();
if(strIdProgramacao==null||strIdProgramacao==""){
for(int j=0;j<diferencaDeDias;j++){
String aData = ConverteData.parseDateToBr(calInicio);
for(Sessao s : progTemp.sessoes){
Sessao novaSessao = new Sessao(aData,
s.getHorarioSessao(),
s.getSala(),
s.getFilme());
sessoes.add(novaSessao);
}
calInicio.roll(Calendar.DAY_OF_MONTH, true);
}
}else{
for(int j=0;j<=diferencaDeDias;j++){
String aData = ConverteData.parseDateToBr(calInicio);
for(Sessao s : progTemp.sessoes){
Sessao novaSessao = new Sessao(Long.parseLong(strIdProgramacao),
aData,
s.getHorarioSessao(),
s.getSala(),
s.getFilme());
sessoes.add(novaSessao);
}
calInicio.roll(Calendar.DAY_OF_MONTH, true);
}
}
DAOFactory dao = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
ProgramacaoDAO programacaoDAO = dao.getProgramacaoDAO();
Programacao programacao;
if(strIdProgramacao==null||strIdProgramacao==""){
programacao = new Programacao(dataInicio, dataFim, sessoes);
programacaoDAO.inserirProgramacao(programacao);
}else{
programacao = new Programacao(Long.parseLong(strIdProgramacao),dataInicio, dataFim, sessoes);
programacaoDAO.alterarProgramacao(programacao);
}
session.removeAttribute("programacao");
dao = null; programacaoDAO = null;
status = "ok";
msg = (strIdProgramacao==null||strIdProgramacao=="") ? "Gravação" : "Atualização";
msg += " da programação foi realizada com sucesso!";
}catch(RuntimeException e){
status = "erro";
msg = "Erro durante a gravação da programação." + e.getMessage();
}catch (Exception e) {
status = "erro";
msg = "A Programação não pode ser alterada. Existem bilhetes vendidos para esta programação." ;
//msg = e.getMessage();
}finally{
req.setAttribute("msg", msg);
req.setAttribute("status", status);
}
}
Mas estou com um problema na diferença de dias
se a data inicial for de um mes e a data final for de outro mes, ele não muda o mes…
Por exemplo: 30/03/2007 (dt inicial)
01/04/2007 (dt final)
ele me responde em vez de 01/04 … 01/03
alguem sabe oq estou fazendo de errado…???