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