Ir ao conteúdo
  • Cadastre-se
FebenSss

Somar ou subtrair datas.

Recommended Posts

Boa noite galera, quero somar ou subtrair duas datas em java, por exemplo:

dia de entrada 01/03/2013

dia de saida 01/05/2013

total de dias = 61 dias

os códigos que achei só calculavam os dias, os meses e anos não eram calculados, só iniciante em java e não tenho a menor ideia de como realizar essa operação. desde já agradeço.

Pesquisando um pouco e modificando alguns códigos,consegui chegar até esse ponto

Classe sem o método main.

public class ContarDias {

private String cliente;
private int dataEntrada;
private int dataSaida;
private int totalDias;

Classe contendo o método main.

public static void main(String[] args) throws ParseException {  
// Dando um exemplo: quantos dias se passam desde 07/09/1822 até 05/06/2006?
String cliente = JOptionPane.showInputDialog("Nome do Cliente: ");
System.out.println(cliente);

DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
df.setLenient(false);
Date d1 = df.parse ("07/09/1822");
System.out.println (d1);
Date d2 = df.parse ("05/06/2006");
System.out.println (d2);
long dt = (d2.getTime() - d1.getTime()) + 3600000; // 1 hora para compensar horário de verão
System.out.println (dt / 86400000L); // passaram-se 67111 dias

]

eu consegui fazer ler do teclado o nome do cliente, mais não sei implementar isso para ler a dataEntrada e dataSaida, alguém pode dar uma ajudinha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai FebenSss beleza?

Você pode usar os recursos nativos do java pra isso... reaproveitando seu código, segue:


Calendar cal1 = new GregorianCalendar();
cal1.setTime(d1);
Calendar cal2 = new GregorianCalendar();
cal2.setTime(d2);

long dias = ((cal2.getTimeInMillis() - cal1.getTimeInMillis()) / (24*60*60*1000));

System.out.println("total de dias = "+dias+" dias");

Abrçs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×