Tengo una cadena como Mon 03-Jul-2017, 11:00 AM/PM y tengo que convertir esto en una cadena como 11:00 AM/PM usando moment js.
El problema aquí es que no puedo obtener AM o PM de la cadena de fecha y hora.
Yo estoy haciendo esto:
moment(Mon 03-Jul-2017, 11:00 AM, 'dd-mm-yyyy hh:mm').format('hh:mm A') y está funcionando bien ya que recibo 11:00 AM , pero si la cadena tiene PM , todavía está dando AM en la salida.
como este moment(Mon 03-Jul-2017, 11:00 PM, 'dd-mm-yyyy hh:mm').format('hh:mm A') 11:00 AM 11:00 PM
Está utilizando tokens de formato incorrectos al analizar su entrada. Debe usar ddd para una abreviatura del nombre del día de la semana, DD para el día del mes, MMM para una abreviatura del nombre del mes, YYYY para el año, hh para la hora 1-12 , mm para minutos y A para AM/PM . Ver documentos moment(String, String) .
Aquí hay una muestra en vivo de trabajo:
console.log( moment('Mon 03-Jul-2017, 11:00 AM', 'ddd DD-MMM-YYYY, hh:mm A').format('hh:mm A') ); console.log( moment('Mon 03-Jul-2017, 11:00 PM', 'ddd DD-MMM-YYYY, hh:mm A').format('hh:mm A') ); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>obtendrá la hora sin especificar el formato de fecha. convertir la cadena a la fecha usando el objeto Date
var myDate = new Date('Mon 03-Jul-2017, 06:00 PM');solución de trabajo:
var myDate= new Date('Mon 03-Jul-2017, 06:00 PM'); console.log(moment(myDate).format('HH:mm')); // 24 hour format console.log(moment(myDate).format('hh:mm')); // 12 hour format console.log(moment(myDate).format('hh:mm A')); console.log(moment(myDate).format('hh:mm a')); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>Las respuestas mencionadas anteriormente son perfectas. Pero también hay otras formas
console.log( moment('Mon 03-Jul-2017, 11:00 PM', 'ddd DD-MMM-YYYY, hh:mm A').format('LT') );11.00 PM
moment().format('LT'); // 5:50 PM moment().format('LTS'); // 5:50:35 PM moment().format('L'); // 18/02/2022 moment().format('l'); // 18/2/2022 moment().format('LL'); // 18 February 2022 moment().format('ll'); // 18 Feb 2022 moment().format('LLL'); // 18 February 2022 5:50 PM moment().format('lll'); // 18 Feb 2022 5:50 PM moment().format('LLLL'); // Friday, 18 February 2022 5:50 PM moment().format('llll');Para obtener más información, visite https://momentjs.com/