У меня есть ZonedDateTime, и я хочу отобразить его таким образом, чтобы время datetime форматировалось с короткой датой и коротким временем, настроенным на рабочей станции, а затем смещением (что-то вроде. .. 05/01/2005 02:30 PM -05: 00). Я ожидал чего-то, как это будет работать ...С NodaTime, как мне форматировать ZonedDateTime в текущей культуре
var patternDateTimeOffset =
ZonedDateTimePattern.CreateWithCurrentCulture("g o<m>", DateTimeZoneProviders.Tzdb);
lblOriginalDateTimeAndOffsetVal.Text = patternDateTimeOffset.Format(zonedDateTime);
НО, оказывается, что «г» не поддерживается в ZonedDateTimePattern так, как это в LocalDateTimePattern. Приведенный выше код генерирует исключение NodaTime.Text.InvalidPatternException.
Я мог бы заменить «g» на «MM/dd/yyyy hh: mm», но тогда он не использует текущую культуру.
Я мог бы использовать LocalDateTimePattern для datetime, а затем объединить смещение с помощью ZonedDateTimePattern. Это работает, но кажется уродливым.
Это похоже на довольно распространенную вещь. Я новичок в NodaTime, поэтому я уверен, что что-то не хватает. Я использую NodaTime 1.3.1 и таргетинг .net 4.0. Любая помощь приветствуется.
Не могли бы вы зарегистрировать это как запрос функции в [Отслеживание ошибок Noda Time] (https://github.com/nodatime/nodatime/issues)? Благодарю. –