Puedo validar el formato de estas fechas usando la biblioteca de momentos:
2022-03-26T14:15:51 ("YYYY-MM-DDTHH:mm:ss") 2022-03-26 ("YYYY-MM-DD")Pero teniendo problemas con lo siguiente:
2022-03-26T14:15:51.667778+03:00 ("YYYY-MM-DDTHH:mm:ss.SSSZ") - this format not solving the problem.¿Hay alguna solución? ¿Quizás usar expresiones regulares lo resolverá?
Puede probar el formato YYYY-MM-DDTHH:mm:ss.SSSSSSZ , también sugiero usar el modo estricto al analizar las fechas. Este formato permitirá una cantidad variable de dígitos después del punto decimal, pero se negará a analizar una fecha sin fracciones de segundo:
function validateDate(input, format) { const dt = moment(input, format, true); return dt.isValid(); } const testInputs = [ '2022-03-26T14:15:51.667778+03:00', '2022-03-26T14:15:51.667+03:00', '2022-03-26T14:15:51+03:00', '2022-03-26T14:15:51', 'FOO' ] const format = 'YYYY-MM-DDTHH:mm:ss.SSSSSSZ'; console.log('Input'.padEnd(36), 'Valid'); testInputs.forEach(input => console.log(input.padEnd(36), validateDate(input, format))) .as-console-wrapper { max-height: 100% !important; } <script src="https://momentjs.com/downloads/moment.js"></script>