Necesito convertir la cadena "28 de abril de 2022 12:00 a.m." a la fecha. Probé Date.parse, pero devuelve "Nan".
var dtstring = "Apr 28 2022 12:00AM"; var dt = Date.parse(dtstring); console.log(dt);En la página de documentación de MDN se dice:
La especificación de ECMAScript establece: Si la cadena no se ajusta al formato estándar, la función puede recurrir a cualquier heurística o algoritmo de análisis específico de la implementación. Las cadenas irreconocibles o las fechas que contienen valores de elementos ilegales en cadenas con formato ISO harán que Date.parse() devuelva NaN.
Entonces, el formato de fecha es el siguiente si corregimos y escribimos el código está funcionando
var dtstring = "Apr 28 2022 12:00"; var dt = Date.parse(dtstring); console.log(dt);Si puede cambiar la cadena de la fecha, puede usar el constructor de fecha: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date Entonces, por ejemplo:
new Date('2022-04-28T12:00:00');
Pero si no puede cambiar la cadena, tendrá que usar una biblioteca de JavaScript que pueda analizar esta fecha. Aquí hay un ejemplo con date-fns y su función de análisis:
parse('Apr 28 2022 12:00 AM', 'MMM dd yyyy p', new Date());
Aquí está el enlace de la documentación: https://date-fns.org/v2.28.0/docs/parse