1970

dae galera…
alguem sabe como faço pra tranformar os milesegundos desde a meia-noite de 1970 pra uma expressao tipo TIME (quero insere num campo no mysql)?

Valeu!!

Gustavo

Então vc não pode pegar a data atual do sistema direto?

acontece q eu quero calcular o tempo q o usuario ficou ativo numa sessao, em jsp
pra faze isso eu faço
session.getLastAccessedTime() - session.getCreationTime()
e isso me retorna um tempo em milisegundos, desde 00:00:00 de 1970
e eu quero passa isso pro formato de hora

outro problema q encontrei eh q esses dois valores da sessaose alteram constantemente (?!?!??!?!)

gustavoknz,

qdo vc faz o cálculo (session.getLastAccessedTime() - session.getCreationTime()) vc não vai ter mais o tempo em milisegundos desde desde 00:00:00 de 1970, vc vai ter um intervalo de tempo em milisegundos. Para converter isso para horas, vc pode fazer o cálculo:

double horas = x / (1000 * 60 * 60), onde x é o seu número em milisegundos.

Não sei como é o formato do campo Time, mas se for algo do tipo horas:minutos:segundos, dá pra vc tirar da variável horas.

eh, resumindo eu quero passa uma variavel de tempo q tah em milisegundos pro formato hh:mm:ss

se eu fizer o calculo double horas = x / (1000 * 60 * 60), onde x é o seu número em milisegundos, acho q os minutos e segundos podem ficar com valor maiores q 59!

Pelo amor de deus, tem q ter uma função q faça isso ou sei lah o q!

Desde já agradeço pelas contribuições!

gustavoknz,

Se vc fizer

double horas = x / (1000 * 60 * 60);

vc vai ter um valor do tipo i,f , onde i é um número inteiro e f é o número fracionário. O inteiro já é o número de horas redondo, o f é o número fracionário de horas, q pode ser dividido em minutos e segundos. Pra pegar i, basta truncar horas, se não me engano convertendo pra int vc consegue isso:

int numero_de_horas = (int)horas;

Daí pra pegar a parte fracionária

double fracionaria = horas - numero_de_horas;

Com a parte fracionário vc consegue o número de minutos…

double minutos = fracionaria * 60;

Só q a variável minutos tá no mesmo esquema anterior de horas… Logo:

int numero_de_minutos = (int)minutos;

double fracionaria_segundos = minutos - numero_de_minutos;

int numero_de_segundos = (int)(60 * fracionaria_segundos);

Se quiser uma string na forma hh:mm:ss…

String s = numero_de_horas + “:” + numero_de_minutos + “:” + numero_de_segundos;

Acho q é isso…