Bom dia galera sou novato em programação java…estou com uma dificuldade em pegar os meses que o funcionario trabalha na empresa.
tentei assim:
int admissao,data,tempo;
admissao=(Integer.parseint(jfadmissao.gettext());
data=(integer.parseint(jtdata.gettext());
tempo=data- admissao
jttempomes.settext(string.valueof(tempo));
nao da certo
Bom Dia, procure postar aqui, o código e log de erro do console, lembre-se também de selecionar o texto e depois clicar no ícone </> para que tudo fique mais fácil de se entender.
Provavelmente esta ocorrendo erro por que você esta tentando converter de da Date para int.
A forma correta seria tratar em um objeto especifico para trabalhar com datas, como por exemplo GregorianCalendar.
Segue um exemplo, altere conforme a necessidade:
public void diferencaEntreDatas(String d1, String d2) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date date1 = dateFormat.parse(d1);
java.util.Date date2 = dateFormat.parse(d2);
long newDate;
if (date1.after(date2)) {
newDate = date1.getTime() - date2.getTime();
} else {
newDate = date2.getTime() - date1.getTime();
}
GregorianCalendar gc = new GregorianCalendar();
gc.setTimeInMillis(newDate);
System.out.println("Diferença: " + gc.get(GregorianCalendar.YEAR) + " ano(s), "
+ (gc.get(GregorianCalendar.MONTH) + 1) + " mes(es), "
+ gc.get(GregorianCalendar.DAY_OF_MONTH) + " dia(s)");
} catch (ParseException ex) { //Lança exceção caso a data informada não esteja no formato "dd/MM/yyyy"
ex.printStackTrace(System.err);
}
}