تمرين تنسيق السلسلة المستخدمة لتنسيق وقت البيانات

StackOverflow https://stackoverflow.com/questions/2146685

سؤال

لديّ سلسلة تمثل قيمة Datatime ، وأريد أن أمارس تنسيق السلسلة الذي تم استخدامه لإنشاء السلسلة.

علي سبيل المثال
- بالنظر إلى "الأربعاء 27 يناير 2010" أتوقع "DDDD DD MMM YYYY"
- أعطى "2010 01 27" أتوقع "Yyyy MM DD"

افترض أن التاريخ قريب من DateTime.wow ويتعلق بالثقافة الحالية. لذلك بالنظر إلى أن لدينا ثقافة GB
- أعطى "01 01 2010" أتوقع "DD MM YYYY"

هل هناك طريقة بسيطة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

يمكنك الانقسام على مساحة البيضاء للحصول على مجموعة من الأوتار ثم يمكنك اختبار العناصر في الصفيف مقابل القيم المعروفة لمحاولة تخمين التنسيق

على سبيل المثال ، إذا كنت تبحث عن "الأربعاء" إذا وجدت أنه افترض "dddd"

إذا افترض رقم أربعة أرقام yyyy

قد تكون الأيام والشهور مشكلة ، يمكنك اختبار> 12 للأيام ولكن هذا سيء للغاية

ربما يمكنك استنتاج التنسيق باستخدام تقسيم المساحة البيضاء ثم dateTime.parse على orignal واختبارها مقابل نسخة منسقة (باستخدام التنسيق المستنتج) من التاريخ المحجوف للمساواة

نصائح أخرى

أبسط شيء يجب القيام به هو النظر إلى المرجع لسلاسل تنسيق DateTime والعمل عليها.

قد تكون قادرًا على استخدام التفكير من أجل الحصول على هذا ، أو استخدام disassembler (مثل ildasm) للعثور على جميع الأوتار المستخدمة في التجميع وتخمين أي سلسلة تنسيق في وقت.

إذا تم فصلها ، يمكنك البحث عن أيام الأسبوع وللسلسلة التي تبدأ بـ dddd, ، والتي يجب أن تخبرك كيف تم بناء الأصل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top