Как отформатировать DateTime как «10 октября 2008 г. 10:43 CST» в C # - PullRequest
4 голосов
/ 16 января 2009

Есть ли чистый способ отформатировать значение DateTime как "10 октября 2008 г. 10:43 CST".

Мне нужно это с правильными сокращениями и «am» (или «pm») в нижнем регистре и т. Д. И т. Д.

Я сделал это сам, но это уродливо, поэтому я ищу другой подход.

Спасибо.

Ответы [ 4 ]

10 голосов
/ 16 января 2009

Поскольку спецификатор строки формата "tt" выводит только верхний регистр, вам придется изменить это самостоятельно. Кроме того, DateTimes не хранит название часового пояса, только смещение.

DateTime dt = DateTime.Now;
string ampm = dt.ToString("tt").ToLower();
string output = string.Format("{0:MMM. d, yyyy h:mm}{1}", dt, ampm);
3 голосов
/ 16 января 2009
DateTimeObject.ToString("MMM. dd, yyyy hh:mmtt");

не уверен насчет CST.

Если вы хотите больше комбинаций, смотрите эту ссылку:

http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

1 голос
/ 16 января 2009

Предполагается, что ваш сервер настроен на CST:

string format = dateTime.ToString("mmm. dd, YYYY HH:MM tt ")
    .Replace(" AM ", "am")
    .Replace(" PM ", "pm") +
    " CST";
0 голосов
/ 16 января 2009

Будет ли это работать?

myDateTime.ToString("MMM. d, yyyy hh:mmtt \C\S\T");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...