Como faço para verificar se ja tem 120 dias de diferença entre 2 datas uma atual e outra anterior

4 respostas
renatotn7

olá pessoal

como eu faço isso?

abraços
[]

4 Respostas

T
import java.util.*;
import java.text.*;

class Determinar120Dias {
    public static void main(String[] args) throws ParseException {
        DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
        /* Quero saber a diferença entre as datas 10/06/2007 e 01/03/2007, em dias */
        Date dt1 = df.parse ("10/06/2007");
        Date dt2 = df.parse ("01/02/2007");
        long diferencaEmMilissegundos = dt1.getTime() - dt2.getTime();
        // 1 dia tem 86400 segundos. Eu somo 1 hora à diferença entre
        // as duas datas, porque pode ter havido a alteração do horário de verão.
        long diferencaEmDias = ( diferencaEmMilissegundos + 3600000L ) / 86400000L;
        System.out.println (diferencaEmDias);
        // Para demonstrar que a conta está certa (mostra 129), vou fazer o mesmo, só que
        // com uma conta que supõe que ambas as datas estão no mesmo ano.
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        cal1.setTime (dt1);
        cal2.setTime (dt2);
        int diferencaEmDiasNoMesmoAno = cal1.get (Calendar.DAY_OF_YEAR) - cal2.get (Calendar.DAY_OF_YEAR);
        System.out.println (diferencaEmDiasNoMesmoAno);
    }
}
Calvin
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        df.setLenient(false);
        
        try {
            
            Date dtInicial   = (Date) df.parse("30/12/2006");
            Date dtFinal     = (Date) df.parse("01/01/2007");
            
            // Transforma em milessegundos
            Long dataInicial = dtInicial.getTime();
            Long dataFinal   = dtFinal.getTime();
            
            // faz a diferença e transforma em dias.
            Long diferenca   = (dataFinal - dataInicial) / (24 * 60 * 60 * 1000);
            
            if (diferenca > 120) 
                System.out.println("mais");
            else
                System.out.println("menos");
            
            
            
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
Marky.Vasconcelos

Aproveitando o tópico
tem como os Formaters como o NumberFormat deixar no mesmo tipo primitivo, porque me disseram que Formaters passam de String pro tipo do format e vice e versa
tem como mudar isso?

JotaJota

pow gostei dos exemplos!
vlw galera t+

Criado 27 de junho de 2007
Ultima resposta 1 de jul. de 2007
Respostas 4
Participantes 5