Fala galera, blza?
Estou tentando subtrair duas datas usando objetos do tipo Date, saca só:
import javax.swing.JOptionPane;
import java.util.Date;
public class Data
{
public static void main(String Args[])
{
Data d = new Data();
String dataAdminissao = JOptionPane.showInputDialog("Data de Adimissão:");
String dataDemissao = JOptionPane.showInputDialog("Data de Demissão:");
d.processo(dataAdminissao, dataDemissao);
}
public Date stringToDate(String data)
{
String[] diaMesAno = data.split("/");
int dia = Integer.parseInt(diaMesAno[0]);
int mes = Integer.parseInt(diaMesAno[1]);
int ano = Integer.parseInt(diaMesAno[2]);
return new Date(ano, mes, dia);
}
public void processo(String d1, String d2)
{
Date dataAdminissao = this.stringToDate(d1);
Date dataDemissao = this.stringToDate(d2);
Date dataDiferenca = new Date(dataDemissao.getTime() - dataAdminissao.getTime());
JOptionPane.showMessageDialog(null, "Data de Admissão: " + d1 + "\nData de Demissão: " + d2 + "\n" + "\nDiferênça: " + dataDiferenca.getDate() + "/" + dataDiferenca.getMonth());
System.exit(0);
}
}
Coloquei o código completo da minha classe de teste, só para caso alguém preferir testar ao bater o olho no “erro”.
Enfim, quando imprimo meu teste na tela, sai assim:
Poutz, esse 31/0 (dia/mes) me deixou torto. Alguma sugestão do que pode ter acontecido?