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: 1121430566
ae tento visualizar a data com o seguinte código:
Date hoje = new Date();
hoje.setTime(1121427039);
System.out.println(hoje.toString());
rodando o código acima isso me retorna:
Tue Jan 13 20:30:27 GMT-03:00 1970
porem o certo deveria ser o timestamp é referente a hoje (dia 15)
Outra coisa:
Date hoje = new Date();
System.out.println(hoje.getTime());
Esse código me retornou 1121432979788, o que eu achava que seria o timestamp porém o número é muito grande.
tentei usar a classe sql.Timestamp e não obtive sucesso tb.
Alguem pode me ensinar como transformar timestamp pra data comum e vice versa? obter mes e tal?
(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.
(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.[/quote]
[quote=Rafael Steil]Eh muito grande para um int, mas nao para um long. Faca assim:
Date hoje = new Date(1121427039000L)
(note o “L”) que ira funcionar.
Rafael[/quote]
[quote=Antropov]não, aquilo ali foi erro na hora que digitei aqui no fórum.
No código está sem o L.
[/quote]
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: