Форматирование DateTime.ToString - PullRequest
7 голосов
/ 28 марта 2011

Я отображаю локализованные короткие даты, предоставляя информацию о культуре для метода DateTime.ToString. К настоящему времени я использовал

x.ToString("d", ci); // 23.12.2000

, который отображает короткую дату. Но теперь я хотел бы также включить сокращенное название дня. Я пытался

x.ToString("ddd d", ci); // pon 23

но теперь d становится спецификатором дня вместо краткого формата даты, поэтому вместо названия дня и короткой даты я получаю только название дня и номер дня.

Как убедить форматировщик отображать день вместе с предварительно заданным культурным кратким форматом даты?

Ответы [ 5 ]

9 голосов
/ 28 марта 2011

Как насчет:

string.Format(ci, "{0:ddd} {0:d}", x)
4 голосов
/ 28 марта 2011

«Стандартные» строки форматирования работают, получая эквивалентное свойство CultureInfo 's DateTimeFormat. В этом случае "d" находит свойство ShortDatePattern, которое будет выглядеть примерно так: "dd.MM.yyyy", "dd / MM / yyyy", "MM / dd / yyyy", "yyyy-MM-dd" и и так далее, в зависимости от рассматриваемого языка.

Следовательно, вы можете использовать его в пользовательском шаблоне, например так:

x.ToString("ddd " + ci.DateTimeFormat.ShortDatePattern, ci) // Sat 2000-12-23 on my set up, should presumably be pon 23.12.2000 on yours
1 голос
/ 28 марта 2011
x.ToString("ddd ", ci) + x.ToString("d", ci);
0 голосов
/ 28 марта 2011

Если ничего другого, вы можете: x.ToString("ddd", ci) + " " + x.ToString("d", ci);

0 голосов
/ 28 марта 2011

Взгляните на это объяснение:

http://www.csharp -examples.net / string-format-datetime /

Возможно, здесь вы найдете несколько примеров.

Обновление

В ответ на комментарий в Примере 3 первого кодового блока четко указано, как это сделать:

String.Format("{0:d dd ddd dddd}", dt);  // "9 09 Sun Sunday" day

Поиск в Google вопросао форматировании даты и строки, и этот вопрос будет гораздо полезнее, если есть ссылка на хорошие примеры.Отсюда ссылка на сайт csharp-examples.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...