entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Convertir tipo de dato long a tipo Date en formato ("HH:mm:ss")

Hola como formateo para que en la salida me muestre HH:mm:ss en vez de numero entero

este es el codigo que tengo pero a un no consigo lograrlo

en la clase modelo de java tengo declarada una variable de tipo cadena para posteriormente en la clase controlador le aplique el formato HH:mm:ss

String diferencia;

public String getDiferencia() {
        return diferencia;
    }

    public void setDiferencia(String diferencia) {
        this.diferencia = diferencia;
    }

en la clase controlador de java tengo lo siguiente

long diferencia_entrada= (registro_entrada.getTime() - hora_entrada_t.getTime());

Date date = new Date(diferencia_entrada);
SimpleDateFormat sd2 = new SimpleDateFormat("HH:mm:ss");
String tiempo = sd2.format(date);

//asigno el resultado ala variable diferencia
modeloAsistenciaTrabajadores.setDiferencia(tiempo);

0voto

cloudman comentado

Buenas tardes.

¿Cual es el problema que tienes concretamente?. Mirando tu código, eso funciona correctamente.

0voto

Maria Cor comentado

Hola @cloudman el problema es cuando quiero mostrar el resultado en el jsp, como mando a traer la variable que tiene el resultado ?????

<td data-title="DIFERENCIA DE MINUTOS"><%=modeloAsistenciaTrabajadores.getDiferencia()%></td>

1 Respuesta

2votos

white Puntos75820

Hola @maria Cor,

puedes utilizar TimeUnit para obtener la cantidad de: segundos, minutos y horas.

ejemplo:

Date date = new Date();
Long difference = date.getTime() - 1427919535428L;

System.out.printf("%02d:%02d:%02d",
    TimeUnit.MILLISECONDS.toHours(difference),
    TimeUnit.MILLISECONDS.toMinutes(difference),
    TimeUnit.MILLISECONDS.toSeconds(difference) % 60);

o.. puedes calcular la diferencia de esta forma:

Date date = new Date();
Long difference = date.getTime() - 1427919535428L;

System.out.printf("%02d:%02d:%02d",
        difference / (60 * 60 * 1000),
        difference / (60 * 1000) % 60,
        difference / 1000 % 60);

0voto

Maria Cor comentado

Muchas gracias @white saludos

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta