Estoy tratando de verificar si la cadena 'fecha-hora' tiene formato ISO y obtengo el siguiente resultado:
isIsoDate the date string is not ISO format! : 2022-04-21T09:40:01.000Z isIsoDate converted-back date : 2022-04-21T09:40:01.000Z isIsoDate time stamp number : 1650534001000 isIsoDate string builded back : Thu Apr 21 2022 11:40:01 GMT+0200 (Ora legale dell'Europa centrale)este es mi código:
export function isIsoDate(dateString) { var dateParsedNum = Date.parse(dateString); var dateBackToString = new Date(dateParsedNum); var stringBuilded = ""; stringBuilded = dateBackToString.toString() if ((dateBackToString.toString()) == dateString) { return true; } else { console.debug("isIsoDate() the date string is not ISO format! : ", dateString); console.debug("isIsoDate() converted-back date : ", dateBackToString); console.debug("isIsoDate() time stamp number : ", dateParsedNum); console.debug("isIsoDate() string builded back : ", stringBuilded); // throw new BadRequestException('Validation failed'); } return(false) }No estoy seguro de si se puede hacer con las utilidades de Date de JavaScript. Como dijo Salman en los comentarios, puede tener .toISOString() en su lugar, pero este método convierte todo a UTC, mientras que la especificación ISO es más flexible que eso.
Recomiendo esta respuesta de StackOverFlow que usa RegEx para validar cadenas ISO.
revisaste la configuracion? hay varias soluciones en el sitio