Boa Tarde
Estou com um problema , estou tentando obter a quantidade de dias quando comparo duas datas, é pra dias de locação
Date entrada = new Date();
String temp = datasaida.getText();
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date dtsaida = new java.sql.Date(format.parse(temp).getTime());
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d3 = new Date(dtsaida.getTime() - entrada.getTime());
totaldiarias.setText((d3).toString());
Só que ao invés de ser 5 dias a resposta é Mon Jan 05 03:33:22 BRT 1970
Existe alguma maneira simples de obter esses dias?
1 curtida
[code]Date entrada = new Date();
String temp = datasaida.getText();
SimpleDateFormat format = new SimpleDateFormat(“dd/MM/yyyy”);
Date dtsaida = new java.sql.Date(format.parse(temp).getTime());
SimpleDateFormat sdf = new SimpleDateFormat(“dd/MM/yyyy”);
Calendar c = Calendar.getInstance();
c.setTime(dtsaida.getTime() - entrada.getTime());
totaldiarias.setText( String.valueOf(c.get(Calendar.DAY_OF_MONTH)) );
[/code]
Isso resolve?
1 curtida
Calendar a = Calendar.getInstance();
a.setTime(new Date());//data maior
Calendar b = Calendar.getInstance();
b.set(2013, 3, 15);// data menor
a.add(Calendar.DATE, - b.get(Calendar.DAY_OF_MONTH));
System.out.println(a.get(Calendar.DAY_OF_MONTH));
Desta forma tbem vai te dar o resultado em dias.
Poxa legal funcionou obrigado, mais agora estou com outro problema, sem querer abusar mais já abusando
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar dts = Calendar.getInstance();
dts.setTime(new Date());//data retirada - maior
Calendar dte = Calendar.getInstance();
dte.set(2013, 3, 15);// data locação - menor
dts.add(Calendar.DATE, - dte.get(Calendar.DAY_OF_MONTH));
totaldiarias.setText(sdf.format(dts.get(Calendar.DAY_OF_MONTH)));
è na linha 7, vc saberia me dizer como faço pra passar o meu jtextfield no lugar dessa data ai?
de qualquer modo obrigado desde já
os 3 valores são int, lembrando que o do meio é relativo ao mês e pela documentação o mês começa no zero(0) então quer dizer que janeiro é 0.
Faz tempo que não mexo para desktop, esse teu jtexfield devolve uma String? em qual formato?
se for assim dd/mm/yyyy
da pra fazer assim
String[] aux = jtextField.split("/");
int dia =Integer.parseInt(aux[0]); // igual ao dia
int mes =Integer.parseInt(aux[1]) - 1 ;// mes
int ano =Integer.parseInt(aux[2]); //ano
dte.set(ano, mes, dia);// data locação - menor
Muito Obrigado !!! me ajudou demais