TimerTask
Re:Expirando dados apartir da data!
3 Respostas
Na edição 19 da Mundo Java saiu uma matéria muito interessante sobre o framework Quartz vale a pena dar uma olhada.
Esse Quartz é um sistema de agendamento de tarefas.
Olá pessoa, estou tendo dificuldades em fazer uma lógica consistente; por esse motivo gostaria de uma ajuda.
Estou querendo fazer a validação de alguns dados do seguinte modo:
tipo esses dados foram emitidos no dia 10/11/2006 e se caso ele passar mais de 60 dias ele será expirado.
Como faço isso? 
Atenciosamente,
Cléo Nascimento
Auew pessoal consegui fazer depois de muinta dor de cabeça kkkk
/**
* Calcula a quantidade de dias existentes em um período.
*
* @param dataInicial Descrição do parâmetro
* @param dataFinal Descrição do parâmetro
* @return a quantidade de dias existentes entre o período.
*/
public static int getQuantidadeDiasPeriodoSemUsarMiliSegundos(Date dataInicial, Date dataFinal) {
int diasMes[] = {31,0,31,30,31,30,31,31,30,31,30,31};
int retorno = 0;
Calendar calendar = Calendar.getInstance();
calendar.setTime(dataInicial);
int diaInicial = calendar.get(Calendar.DAY_OF_MONTH) - 1;
int mesInicial = calendar.get(Calendar.MONTH);
int anoInicial = calendar.get(Calendar.YEAR);
calendar.setTime(dataFinal);
int diaFinal = calendar.get(Calendar.DAY_OF_MONTH);
int mesFinal = calendar.get(Calendar.MONTH);
int anoFinal = calendar.get(Calendar.YEAR);
int inicioPeriodoFinal = 0;
boolean saoMesmoAno = true;
if(anoInicial != anoFinal){
if ( (anoInicial % 4) == 0){
diasMes[1] = 29;
}else{
diasMes[1] = 28;
}
for(int k = mesInicial; k < 12; k++){
if (k == mesInicial){
retorno += diasMes[k] - diaInicial;
}else{
retorno += diasMes[k];
}
}
anoInicial++;
saoMesmoAno = false;
}else{
inicioPeriodoFinal = mesInicial;
}
while(anoInicial < anoFinal){
if ( (anoInicial % 4) == 0){
diasMes[1] = 29;
}else{
diasMes[1] = 28;
}
for(int k = 0; k < 12; k++){
retorno += diasMes[k];
}
anoInicial++;
}
if ( (anoInicial % 4) == 0){
diasMes[1] = 29;
}else{
diasMes[1] = 28;
}
for(int k = inicioPeriodoFinal; k < mesFinal + 1; k++){
if (k == mesFinal){
retorno += diaFinal;
}else if ((inicioPeriodoFinal == mesInicial) && (saoMesmoAno)){
retorno += diasMes[k] - diaInicial;
saoMesmoAno = false;
}else{
retorno += diasMes[k];
}
}
return retorno;
}
ele vai retornar os dias e ai basta colocar um if(dataExpirada <= 60) e ai pronto!
Atenciosamente,
Cléo Nascimento
Criado 23 de novembro de 2006
Ultima resposta 24 de nov. de 2006
Respostas 3
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo