Установив культуру en-CA (Канада), как вы заставляете приложение ASP.NET использовать дату и время в США? - PullRequest
1 голос
/ 27 июня 2011

Надеюсь, это быстрый вопрос - я установил для своего приложения культуру "en-CA". Я хочу, чтобы вся культура была специфичной для en-CA, за исключением формата даты. Я хочу, чтобы формат даты был американской версией (мм / дд / гг), а НЕ канадской версией (дд / мм / гг). Есть идеи?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 27 июня 2011

Если вы действительно хотите использовать культуру en-US, вам следует создать культуру en-US и использовать ее для форматирования даты и времени.

var provider = new CultureInfo ("en-US", false);
var date = new DateTime (2011, 6, 27, 17, 7, 0);
date.ToString ("d", provider);

или

var provider = new CultureInfo ("en-US", false);
var date = new DateTime (2011, 6, 27, 17, 7, 0);
date.ToString ("MM/dd/yy", provider);

Это отличается от форматирования строки как «MM / dd / yy» в текущей культуре.Если вы используете текущую культуру (en-CA), тогда названия месяцев, названия дней и разделители даты / времени будут по-прежнему использовать канадское форматирование.

При явном указании вашей культуры (en-US) будут использоваться правильные варианты написанияи аббревиатуры для этой культуры.

По общему признанию вы не заметите большого различия с этим конкретным форматом между этими двумя культурами, но если вы использовали длинный формат даты, такой как "ddd, dd MMM yyyy" иваша нынешняя культура была "fr-CA", вы бы получили гораздо более заметную разницу.

0 голосов
/ 27 июня 2011

Если это внешний вид, то это будет:

String.Format("{0:MM/dd/yy}", DateTime.Now)
0 голосов
/ 27 июня 2011

Просто используйте:

DateTime date;
date.ToString("MM/dd/yy")

, чтобы форсировать нужный формат.

...