Amigos estou com um problema ao trabalhar com timestamp.
Estou tentando recuperar de um banco de dados determinados da dados que foram cadastrados de do mes x até o mes y.
Mas a data de cadastro usa timestamp.
Recuperando o timestamp não estou conseguindo obter a data certa.
vamos tomar por exemplo o seguinte timestamp: [telefone removido]
(não é exatamente 1000 porque você não mediu os resultados exatamente ao mesmo tempo )
Ou seja, você já deve ter se mancado que o Java volta um timestamp que é 1000 vezes maior que o timestamp do PHP. Então é só dividir (ou multiplicar) o valor por 1000 e está tudo OK.
R
rflprp
thingol:
Ora, você devia ter desconfiado que os números são parecidos. Divida o valor do java pelo valor que o PHP retornou.
(não é exatamente 1000 porque você não mediu os resultados exatamente ao mesmo tempo )
Ou seja, você já deve ter se mancado que o Java volta um timestamp que é 1000 vezes maior que o timestamp do PHP. Então é só dividir (ou multiplicar) o valor por 1000 e está tudo OK.
:shock:
A
Antropov
Sim, claro q notei porém:
Date hoje = new Date(1121427039000); <- O java não aceita
Diz que o o número é muito grande :\
Ou seja eu sei que o timestamp meu não possui precisão de milisegundos mas mesmo completando com os zeros a maldita classe não aceita :\
R
Rafael_Steil
Eh muito grande para um int, mas nao para um long. Faca assim:
Datehoje=newDate(1121427039000L)
(note o “L”) que ira funcionar.
Rafael
A
Antropov
não, aquilo ali foi erro na hora que digitei aqui no fórum.
No código está sem o L.
A
Antropov
Bem, agradeço a força que o pessoal deu mas acabei descolando uma solução:
Multiplico por 1000 meu Timestamp e uso o código abaixo
Long lg = new Long(“1121446542000”);
Date hoje = new Date(lg.longValue());
para o processo inverso uso o método gettime de Date e divido por 1000
vai dar diferença nos seg, mas como só vou usar mes e ano não importa.
R
Roan
Rafael Steil:
Eh muito grande para um int, mas nao para um long. Faca assim:
Datehoje=newDate(1121427039000L)
(note o “L”) que ira funcionar.
Rafael
Antropov:
não, aquilo ali foi erro na hora que digitei aqui no fórum.
No código está sem o L.
O que o Rafael Stail quis dizer é que estava faltando o “L”, pra especificar que é um LONG, ou seja um o mesmo que você fez (de outra maneira) depois com: