olá pessoal
como eu faço isso?
abraços
[]
olá pessoal
como eu faço isso?
abraços
[]
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);
}
}
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();
}
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?
pow gostei dos exemplos!
vlw galera t+