هل هناك API للتحويل من "yyyymmddhmmss.uuuuuuu-tzo" تنسيق إلى C # DateTime؟

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

سؤال

مثال: "20080807144334.410187-180" (-180 يعني بتوقيت جرينتش ناقص ثلاث ساعات. ريو دي جانيرو في هذه الحالة.)

يتم إرجاع تنسيق هذا السلسلة عندما استفسر إنشاء ملف / تغيير / أوقات الوصول عبر WMI (لا يعمل تماما؛ انظر هنا). أعتقد أنني أستطيع تحليلها بطريقة احمق، واستخراج السنة والشهر إلخ من مواقع السلسلة. ولكن أود عدم إعادة اختراع العجلة. منشئين System.Datetime لا يتعاملون مع هذا التنسيق. يجب أن أذهب وأفعل ذلك بطريقة احمق أو هل هناك شيء أفضل؟

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

المحلول

يجب أن تكون قادرا على استخدام DateTime.ParseExact أو .TryParseExact لإعطائها تنسيق محدد لاستخدام عند التحليل.

ومع ذلك، لا أعتقد أنه يمكنك الحصول عليه لقراءة منطقتك الزمنية بهذا الشكل (على الرغم من أنني لا أستطيع معرفة كيفية الحصول عليها لقراءة منطقة زمنية بأي شكل).

ما تبقى من ذلك يبدو وكأنه هذا:

DateTime.ParseExact("20080807144334.410187", "yyyyMMddHHmmss.ffffff", System.Globalization.CultureInfo.InvariantCulture)

نصائح أخرى

يجب أن نلقي نظرة على DateTime.tryParseExact. سوف يتيح لك تمر بتنسيقك الذي تتحول إليه.

http://msdn.microsoft.com/en-us/library/system.datetime.teyparseexact.aspx.

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