mais o valor do System.currentTimeMillis() e = 1276883380302 se for calcular isso em horas e muito e acredito que não seja essa propriedade que tenho que pegar
porque o tempo em que deve expirar a sessão nesse caso e de no maximo 15 minutos
System.currentTimeMillis não serve para você saber a hora atual. Serve para você determinar um espaço de tempo. Por exemplo:
long t = System.currentTimeMillis();
// Faça alguma coisa que leve, por exemplo, 2 segundos;
t = System.currentTimeMillis() - t;
// O valor de t deve ser de cerca de 2000, que é 2 segundos.
maior_abandonado
você pode usar esse método para pegar os milisegundos nas duas vezes e subtraindo você tem a diferença em milisegundos… ai você pode dividir por 1000 e ter o valor em segundos, divide denovo por 60 e terá em minutos, etc…
Se você quiser obter a data/hora, você pode passar esse long ai que você tem no construtor de um Date, a partir dai você pode conseguir esses dados, ou setar num Calendar e usar o Calendar…etc…
F
fvslistas
Para pegar a data/Hora atual
new java.util.Date();
Para transformar um Date em String com a formatação que quiser use o java.text.SimpleDateFormat.
Exemplo:
Para pegar os campos da Date use o java.util.Calendar:
Calendar c = Calendar.getInstance();
c.setTime(d); // d é a sua Date
int hora = c.get(Calendar.HOUR_OF_DAY);
int dia = c.get(Calendar.DAY_OF_MONTH);
int mes = c.get(Calendar.MONTH);
R
robsonsan
entanglement
mais e exatamente isso que eu quero um espaço de tempo que o cara fez o upload do arquivo até o momento que ele enviou acontece que
o valor do System.currentTimeMillis() e = 1276883380302 esse valor e quando ele carrega o arquivo
se eu dividir isso por 100000 vou ter o minutos mais e um valor muito alto de sessão concorda que tem algo errado o que eu posso fazer ?
F
fvslistas
Dividir por 100000 não te dá os minutos.
O valor que você tem antes das divisões é o tempo decorrido em milisegundos entre a primeira marcação da hora e a segunda.
Divida por 1000 para ter os segundos decorridos.
Depois por 60 para ter os minutos.
Faça como o maior_abandonado sugeriu.
Se a data/hora estiver correta no sistema do computador onde o programa roda, vai funcionar.
CarvalR2
na hora que o cara faz o upload:
Long h = System.currentTimeMillis();
sessao.set … (“HORARIO”, h);
aqui onde eu recuperei o valor antes de enviar o arquivo subtraio o intervalo da hora que o usuário fez o upload do arquivo
e quando ele vai enviar pego a diferença e /1000 para obter os segundos.
LonghoraEnvio=(Long)sessao.getAtributo("Hora_envio");CalendarhoraAtual=Calendar.getInstance();Datedt=newDate(horaEnvio.longValue());DateFormatdf=newSimpleDateFormat("dd/MM/yyyy HH:mm:ss.SSS");System.out.println("Fomatado data da Sessão: "+df.format(dt));System.out.println("Hora Atual: "+horaAtual.getTime());longdiferencaHorario=horaAtual.getTimeInMillis()-df.getCalendar().getTimeInMillis();longdiferecaSegundos=diferencaHorario/1000;System.out.println(diferecaSegundos);