Saltar al contenido

La mejor manera de convertir la hora militar a la hora estándar en javascript

Contamos con tu ayuda para compartir nuestras reseñas sobre las ciencias de la computación.

Solución:

Te perdiste concatenar el string cuando minutes < 10 y seconds < 10 por lo que no estaba obteniendo el resultado deseado.

Convertir string numerar usando Number() y utilícelo apropiadamente como se muestra en el fragmento de código de trabajo a continuación:

EDITAR: Código actualizado para usar Number() mientras que la declaración de hours, minutes y seconds.

var time = "16:30:00"; // your input

time = time.split(':'); // convert to array

// fetch
var hours = Number(time[0]);
var minutes = Number(time[1]);
var seconds = Number(time[2]);

// calculate
var timeValue;

if (hours > 0 && hours <= 12) 
  timeValue= "" + hours;
 else if (hours > 12) 
  timeValue= "" + (hours - 12);
 else if (hours == 0) 
  timeValue= "12";

 
timeValue += (minutes < 10) ? ":0" + minutes : ":" + minutes;  // get minutes
timeValue += (seconds < 10) ? ":0" + seconds : ":" + seconds;  // get seconds
timeValue += (hours >= 12) ? " P.M." : " A.M.";  // get AM/PM

// show
alert(timeValue);
console.log(timeValue);

Leer: Number() | MDN

Como recomienda Nit, Moment.js proporciona una solución simple a su problema.

function convert(input) 
    return moment(input, 'HH:mm:ss').format('h:mm:ss A');


console.log(convert('20:00:00'));
console.log(convert('08:00:00'));
console.log(convert('16:30:00'));

Reseñas y calificaciones del artículo

Nos puedes avalar nuestro estudio dejando un comentario o dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 4 Promedio: 4.3)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

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