التحقق من صحة تنسيق التاريخ على جدول البيانات باستخدام LINQ


مرحبًا تحويل البيانات من Excel إلى datatable الآن أريد التحقق من صحة تنسيق التاريخ من dataable باستخدام LINQ على datatable،

جدول البيانات الخاص بي

تاريخ معرف الصف
1 22-07-2024
2 23-09-2024
3 2024-09-23
4 12334-09-23

كما هو موضح أعلاه الصف الثاني الأخير في dataable ليس بتنسيق “dd-mm-yyyy” صالح، أريد التحقق من أن عمود التاريخ dataable يحتوي على تنسيق تاريخ صالح

ما حاولت:

حاولت أشياء كثيرة ولكن لم تنجح

الحل 1

على الأرجح، لا يمكنك ذلك.

ابدأ بالتحقق من مصدر Excel: ما لم يكن التاريخ موجودًا في عمود يتعرف عليه Excel كتاريخ (أي قابل للتنسيق في Excel)، فهو عبارة عن سلسلة ويمكن أن يحتوي على أي شيء بما في ذلك تواريخ صالحة وتواريخ غير صالحة وتواريخ بتنسيق خاطئ (mm/dd/ yy بدلاً من dd/mm/yy على سبيل المثال)، وحتى النص “Hello World”. إذا كانت سلسلة، فلن يكون هناك أي شيء مفيد يمكنك فعله بها: لا يمكنك الاعتماد على أي شيء باعتباره “القيمة الأصلية”.

على سبيل المثال، 01/02/03 ما هو التاريخ؟ 1 فبراير 2003؟ 2 يناير 2003؟ 3 فبراير 2001؟ وكلها تفسيرات صحيحة شائعة الاستخدام، ويعتمد ذلك على الشخص الذي أدخلها والتاريخ الذي توقعه.

بمجرد دخول البيانات إلى Excel أو قاعدة بيانات، فإنها تفتقر إلى أي “سياق منشئ” لذا لا يمكنك معرفة التاريخ المقصود – فقد فات الأوان للتحقق من صحة التواريخ بحلول تلك المرحلة، والطلب الذي قدمته يشير إلى أنه يحتاج إلى التحقق من الصحة لأنك تعرف بالفعل هناك “بيانات سيئة” هناك. لا يمكن لأحد إصلاح ذلك ما لم يكن التاريخ معادلاً لـ “Hello World” – يمكن أن تكون التواريخ غير الصالحة مجرد تواريخ بتنسيق مختلف عما توقعته، أو تحتوي على أسماء أشهر بدلاً من الأرقام (وللإضافة إلى المتعة، باللغة الأصلية لـ OP بدلا من الانجليزية…)

コメント

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