El método .getMinutes() solo genera un entero '0' en lugar de dos enteros '00'. ¿Por qué hace esto y hay una forma más sencilla de solucionarlo?
Ejemplo:
var dateDue = new Date("Fri Apr 22 2022 18:00:00"); dateDue.getMinutes(); //Expected output: 18:00, got 18:0 instead?Por ahora, he estado usando la validación de declaraciones if para agregar 0 cada vez que los minutos .Length regresan como solo un carácter de largo en lugar de dos.
//Minutes display validation for dateDue var minutesDue = dateDue.getMinutes(); if (minutesDue.Length === 1) { minutesDue = parseInt(dateDue.getMinutes()) + "0"; Lenguaje de codificación: JavaScript (vainilla)
Nivel de habilidad: Principiante
Editor: Código de Visual Studio
Sistema operativo: Windows 7
Puede usar el método toLocaleTimeString con algunas opciones de relleno e incluso más estilo. Éste hace AM/PM automáticamente para usted.
const time = new Date("Fri Apr 22 2022 18:00:00").toLocaleTimeString('default', { hour: '2-digit', minute: '2-digit' }); console.log(time) // '06:00 PM' var dateDue = new Date("Fri Apr 22 2022 18:00:00"); if (dateDue.getMinutes() < 10) { var getMinutes= '0' + dateDue.getMinutes(); }Podría responder la mitad de la pregunta si ayuda a comenzar el proceso de pensamiento. Poner :00 por segundos. Necesita un ciclo que verifique la condición, si los segundos son menos de 9. Si ese es el caso, concatene 0 a segundos.