Hola, tengo una aplicación de reacción donde hice un control deslizante para el tiempo. la hora es por ejemplo: 3 PM o 7:30 AM como este formato.
Pero parece que no puedo formatearlo correctamente usando el momento, siempre regresa AM Aquí está mi implementación:
moment(dropoffTime.formattedTime, ['h:mm A']) .locale('en') .format('hh:mm A').format funciona bien y me da PM en este momento. Tal vez pueda consola.log dropoffTime.formattedTime para ver cuál es el valor antes de formatear
console.log(moment(new Date()) .locale('en') .format('hh:mm A')) <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script>moment acepta fechas como un objeto Date o en un formato de cadena:
const dropoffTime = new Date(); const str = moment(dropoffTime) .locale('en') .format('hh:mm A'); console.log(str) document.querySelector("input").addEventListener("input",function(){ console.log(moment(this.value, ['h:mm A']).locale('en').format('hh:mm A')) }) <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <input type="time" value="12:34" >