Tutoriales de Informática y Dispositivos Móviles
Tutoriales de Informática y Dispositivos Móviles
Cargar input time

Cargar hora en input time con JavaScript

Cargar hora en input time con JavaScript

En el siguiente tutorial aprenderemos como cargar una hora en un input de tipo time a partir de un objeto date en JavaScript..

Los elementos input de tipo time necesitan el formato hora:minutos:segundos o hora:minutos para poder cargarle una fecha. Para hacerlo vamos a utilizar el siguiente método, al cual le pasaremos una fecha y nos devolverá la hora de este formato.

Ejemplo 1

El siguiente método devuelve la hora con el formato «03:25:59» a partir de un objeto date. El parámetro dateObject en este caso es opcional. Si no se lo pasamos nos devolverá la hora actual.

<!-- Input de tipo time -->
<input type="time" id="input-time"/>
<script>
    // Método que recibe un objeto date
    function parseDateToTimeString(dateObject = new Date()) {
        let hours = dateObject.getHours();
        hours = hours < 10 ? "0" + hours.toString() : hours;
        let minutes = dateObject.getMinutes();
        minutes = minutes < 10 ? "0" + minutes.toString() : minutes;
        let seconds = dateObject.getSeconds();
        seconds = seconds < 10 ? "0" + seconds.toString() : seconds;
        return hours + ":" + minutes + ":" + seconds;
    }
    // Creamos un objeto date con la fecha actual
    var fecha = new Date();
    // Formateamos la fecha
    var fechaFormateada = parseDateToTimeString(fecha);
    // Cargamos el input con la fecha formateada
    document.getElementById("input-time").value = fechaFormateada;
</script>

Ejemplo 2

El siguiente método cargará directamente la hora en el input. Para ello debemos pasarle por parámetro el elemento input y opcionalmente el objeto date con la fecha. Igual que el anterior, si no le pasamos el objeto date, cogerá la hora actual.

<!-- Input de tipo time -->
<input type="time" id="input-time"/>
<script>
    // Método que recibe un elemento input time y un objeto date
    function chargeDateInputTime(elem, dateObject = new Date()) {
    let hours = dateObject.getHours();
    hours = hours < 10 ? "0" + hours.toString() : hours;
    let minutes = dateObject.getMinutes();
    minutes = minutes < 10 ? "0" + minutes.toString() : minutes;
    let seconds = dateObject.getSeconds();
    seconds = seconds < 10 ? "0" + seconds.toString() : seconds;
    let timeFormat =  hours + ":" + minutes + ":" + seconds;
    elem.value = timeFormat;
}
    // Creamos un objeto date con la fecha actual
    var fecha = new Date();
    // Obtenemos el elemento input time
    var inputTime = document.getElementById("input-time");
    // Llamamos al método para que cargue la fecha
    chargeDateInputTime(inputTime, fecha);
</script>

Para aprender otras formas de formatear fechas con JavaScript no te pierdas el siguiente tutorial

Formatear fechas en JavaScript

Métodos de la clase Date

Más tutoriales de JavaScript

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
A %d blogueros les gusta esto: