كيفية إنتاج سلسلة داتيتيموفسيت من نودا الوقت أوفسيتداتيتيم في الافتراضي لتنسيق الثقافة الحالية?

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

سؤال

لنفترض أن لدي نودا تايم لوكالداتيتيم ميلوكالداتيتيم وإزاحة متغيرات ميوفست.لإنتاج سلسلة داتيتيموفسيت في تنسيق إيزو 8601 يمكنني استخدام

var offsetDateTimePattern = OffsetDateTimePattern.Create(OffsetDateTimePattern.ExtendedIsoPattern.PatternText, CultureInfo.InvariantCulture, defaultOffsetDateTime);
var resDateTimeOffsetISO8601 = offsetDateTimePattern.Format(new OffsetDateTime(myLocalDateTime, myOffset));

الآن ، أريد أيضا أن تنتج سلسلة داتيتيموفسيت في في الافتراضي لتنسيق الثقافة الحالية.

بالنسبة للولايات المتحدة الأمريكية سيكون مثل "4/10/2014 3:03:11 مساء -07:00".كنت أفكر في استخدام مزيج من" ز "نمط مع كيرنتكولتشر ل داتيتيم جزء تليها" م " شكل ل أوفست.كيف أفعل ذلك?شيء من هذا القبيل باستخدام "ز م" كنص نمط?

var offsetDateTimePatternLocal = OffsetDateTimePattern.Create("G m", CultureInfo.CurrentCulture, defaultOffsetDateTime);
var resDateTimeOffsetCurrentCulture = offsetDateTimePattern.Format(new OffsetDateTime(myLocalDateTime, myOffset));

(تم طرح سؤال تحليل ذات الصلة هنا: http://goo.gl/OVeQJT)

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

المحلول

أعتقد أن أفضل ما يمكن القيام به إذا كنت ترغب في الحفاظ على السلوك ثقافة علم "G" المنسق هو شيء من هذا القبيل:

var ldtPattern = LocalDateTimePattern.CreateWithCurrentCulture("G");
var offsetPattern = OffsetPattern.CreateWithCurrentCulture("m");
var result = ldtPattern.Format(localDateTime) + " " + offsetPattern.Format(resOffset);

المشكلة هي أن OffsetDateTimePattern ليس لديها أي أنماط قياسية مدركة للثقافة. راجع دليل المستخدم للحصول على التفاصيل.أعتقد أنه من المحتمل تصحيح هذا في إصدار مستقبلي.

إذا كنت ترغب في تنسيق مع نمط ثابت ، هل يمكن.ولكن بعد ذلك كنت بحاجة إلى معرفة نمط للثقافة مقدما.

var pattern = OffsetDateTimePattern.Create("M/dd/yyyy h:mm:ss tt o<m>", CultureInfo.InvariantCulture, defaultOffsetDateTime);
var result = pattern.Format(new OffsetDateTime(localDateTime, resOffset));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top