Validación del formato de fecha en la tabla de datos usando LINQ

programación


Hola, convertir datos de Excel a datatable, ahora quiero validar el formato de fecha de datatable usando LINQ en datatable.

mi tabla de datos

fecha de identificación de fila
1 22-07-2024
2 23-09-2024
3 2024-09-23
4 12334-09-23

Como se ve arriba, las últimas 2 filas en datable no tienen un formato válido “dd-mm-aaaa”, quiero verificar que la columna de fecha datable contenga un formato de fecha válido

Lo que he probado:

Intenté muchas cosas pero no tuve éxito.

Solución 1

Muy probablemente no puedas.

Comience verificando la fuente de Excel: a menos que la fecha esté en una columna que Excel reconozca como una fecha (es decir, que se pueda formatear en Excel), entonces es una cadena y puede contener cualquier cosa, incluidas fechas válidas, fechas no válidas, fechas con formato incorrecto (mm/dd/ aa en lugar de dd/mm/aa por ejemplo), e incluso el texto “Hola mundo”. Si es una cadena, no hay prácticamente nada útil que puedas hacer con ella: no puedes confiar en que nada sea el “valor original”.

Por ejemplo, ¿qué fecha es 02/01/03? ¿1 de febrero de 2003? ¿2 de enero de 2003? ¿3 de febrero de 2001? Todas ellas son interpretaciones válidas de uso común, y depende de quien la ingresó qué fecha esperaba que fuera.

Una vez que los datos ingresan a Excel o a una base de datos, carecen de cualquier “contexto de origen”, por lo que no se puede saber qué fecha se pretendía; es demasiado tarde para validar las fechas en esa etapa y la solicitud que realizó implica que necesita validación porque ya lo sabe. hay “datos incorrectos” allí. Nadie puede arreglar eso a menos que la fecha sea equivalente a “Hola mundo”: las fechas no válidas podrían ser simplemente fechas en un formato diferente al esperado, o contener nombres de meses en lugar de números (y para agregar diversión, en el idioma nativo del OP). en lugar de inglés…)

コメント

タイトルとURLをコピーしました