Validation du format de date sur datatable à l’aide de LINQ

la programmation


Salut, convertir les données d’Excel en datatable maintenant, je souhaite valider le format de date de datable en utilisant LINQ sur datatable,

Mon datatable

Date d’identification de la ligne
1 22-07-2024
2 23-09-2024
3 2024-09-23
4 12334-09-23

comme vu ci-dessus, les 2 dernières lignes de datable ne sont pas au format “jj-mm-aaaa” valide, je veux vérifier que la colonne de date datable contient un format de date valide

Ce que j’ai essayé :

j’ai essayé beaucoup de choses mais je n’ai pas réussi

Solution 1

Très probablement, vous ne pouvez pas.

Commencez par vérifier la source Excel : à moins que la date ne se trouve dans une colonne qu’Excel reconnaît comme une date (c’est-à-dire qu’elle est formatable dans Excel), il s’agit alors d’une chaîne et peut contenir n’importe quoi, y compris des dates valides, des dates invalides, des dates au format incorrect (mm/jj/ yy au lieu de jj/mm/aa par exemple), et même le texte “Hello world”. S’il s’agit d’une chaîne, vous ne pouvez pratiquement rien en faire d’utile : vous ne pouvez pas compter sur quoi que ce soit comme étant la “valeur d’origine”.

Par exemple, le 01/02/03 est quelle date ? Le 1er février 2003 ? Le 2 janvier 2003 ? Le 3 février 2001 ? Toutes sont des interprétations valides d’usage courant, et cela dépend de la personne qui les a saisies, de la date à laquelle elle s’attendait.

Une fois que les données entrent dans Excel ou dans une base de données, il leur manque tout « contexte d’origine », vous ne pouvez donc pas dire quelle date était prévue – il est trop tard pour valider les dates à ce stade, et la demande que vous avez faite implique qu’elle doit être validée car vous le savez déjà. il y a des “mauvaises données” là-dedans. Personne ne peut résoudre ce problème à moins que la date ne soit l’équivalent de “Bonjour tout le monde” – les dates invalides pourraient simplement être des dates dans un format différent de celui prévu, ou contenir des noms de mois au lieu de chiffres (et pour ajouter au plaisir, dans la langue maternelle du PO plutôt que l’anglais…)

コメント

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