Bom dia,
Precisos realizar uma metodo ou função onde tenho como retorno o intervalo de dias passando como parametro a data da criação do documento e a data atual do sistema.
Gostaria de saber, como faço este tipo de interação com datas
Ex:
Data do documento: 2007-06-01
Data Atual: 2007-06-05
A soma seria o trivial mas não funciona… por exemplo…
Data do documento: 2007-05-23 //23/05/2007
Data Atual do sistema: 2007-06-01 //01/06/2007
O intervalo é de 9 dias…se eu fosse fazer uma soma ou subtração não iria funcionar por causa dä mudança de mês.
Deve existir algum tipo de função tipo compare()…no java sei lá…
F
frodrigues
Cara Claro q funciona…
se vc somar 9 dias
ele mudara de mes
A API controla isso pra vc…
nicholas.bittencourt
Por que voce nao converte as datas para milisegundos e calcula a diferença entre elas??
long data1 = dtDocumento;
long data2 = System.currentTimeMilis();
long diff = data2 - data1;
long diffEmDias = diff / 1000 / 60 / 60 / 24; // milis, segungos, minutos, horas...
Ai voce tem a diferenca em dias...
rockstorm
entao, mas eu precisava tambem deste valor do intervalo em uma variavel na aplicação;
Ex:
int valor = Data atual(06/06/2007) - DataDeCadastro(01/06/2007)
valor seria igual a 5. e seria este valor que preciso (5).
não sei se isso é possivel…
grato
nicholas.bittencourt
Nao entendi a sua duvida… Se voce pega a diferenca em milissegundos, para chegar ao intervalo de dias que deseja é só fazer a divisão. Para colocar em uma variavel na aplicaçao é só atribuir a ela e pronto.
rockstorm
Bom dia Nicolas, vou tentar ser mais claro.
Hoje eu tenho no banco de dados uma data de movimentacao. Esta data eu recebo em uma String na aplicação.
Pelo que você me sugeriu, eu teria que receber esta data do banco e converter para milesegundos certo?
1- Como faço um cast de String (2007-06-01) para Milessegundos?
este valor(2007-06-01) é o que tenho no banco hoje.
2- Usando sua sujestao, minha principal duvida ficou nesta conversão, onde recebo uma String , tranformo em Milessegundos e comparo.
obs. o campo no banco é DATE.
grato
T
tarcisio.filo
publicintretorna_Intervalo_Dias(Stringdata_Vinda_Banco){Dated1=newDate();Dated2=newDate(data_Vinda_Banco.replace("-",“/”));// implemente a lógica para calcular o número de dias, utilizando os métodos da classe Datereturndias;}
isso se vc não quiser alterar o seu método q busca esse data. Se vc quiser alterar esse métodos, existe um método da classe ResultSet que pega um Date