Я знаю о классе System.TimeZone , а также о множественном использовании метода DateTime.ToString () . То, что я не смог найти, - это способ конвертировать DateTime в строку, которая, в дополнение к информации о времени и дате, содержит трехбуквенное сокращение часового пояса (фактически, почти так же, как всплывающие подсказки StackOverflow для относительного отображение времени работает).
Чтобы сделать пример простым для восприятия и использования, давайте продолжим с примером StackOverflow. Если вы посмотрите на всплывающую подсказку, отображающуюся в относительное время, то она будет отображаться с полной датой, временем, включая секунды в двенадцатичасовом формате, обозначением AM / PM, а затем трехбуквенным сокращением часового пояса (в их случае Coordinated). Всемирное время). Я понимаю, что могу легко получить GMT или UTC, используя встроенные методы, но мне действительно нужно время, так как оно локально & mdash; в этом случае на веб-сервере.
Если наш веб-сервер работает под управлением Windows Server 2k3 и для его часового пояса установлено значение CST (или, пока летнее время не переключится обратно, CDT, не так ли?), Я хотел бы, чтобы наш ASP.NET веб приложение для отображения DateTimes относительно этого часового пояса, а также отформатирован для отображения «CST» в конце. Я понимаю, что могу легко написать это жестко, но в интересах надежности я действительно предпочел бы решение, основанное на сервере, на котором выполняются настройки среды ОС кода.
Сейчас у меня есть все, кроме сокращения часового пояса, используя следующий код:
myDateTime.ToString("MM/dd/yyyy hh:mm:ss tt")
Который отображает:
10/07/2008 03:40:31 PM
Все, что я хочу (и это не так много, обещаю!), Это сказать:
10/07/2008 03:40:31 PM CDT
Я могу использовать System.TimeZone.CurrentTimeZone и использовать его, чтобы правильно отображать «Центральное летнее время», но ... для краткости это слишком много. Неужели я застрял в написании процедуры манипуляции со строками, чтобы убрать пробелы и любые не прописные буквы? Хотя это может сработать, это кажется мне невероятным хаком ...
Погуглил и оглядывание здесь не дало ничего общего с моим конкретным вопросом.