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!!
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…