Форматирование даты MVC 3 — Даты отображаются только на американском языке

#asp.net-mvc-3 #date

#asp.net-mvc-3 #Дата

Вопрос:

Это кажется действительно глупой проблемой, но, тем не менее, это проблема! Кажется, я не могу заставить свои даты отображаться в британском формате dd / mm / гггг, они будут отображаться только в американском формате mm / dd / yyyy. Я добавил следующий атрибут данных в свою модель:

 [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
  

Кто-нибудь может пролить свет на это? Это должно быть что-то простое, но это сводит меня с ума!

Приветствия.

** РЕДАКТИРОВАТЬ **

Вот фрагмент кода из представления

 <tr>
  <th>Start Date</th>
  <td>@Html.EditorFor(m => m.DateFrom, new { class = "datepicker" })</td>
  <td>@Html.ValidationMessageFor(m => m.DateFrom)</td>
</tr>
<tr>
  <th>End Date</th>
  <td>@Html.EditorFor(m => m.DateTo, new { class = "datepicker" })</td>
  <td>@Html.ValidationMessageFor(m => m.DateTo)</td>
</tr>
  

Ответ №1:

Укажите язык в web.config:

 <system.web>
    <globalization uiCulture="en-GB" culture="en-GB" />
</system.web>
  

Комментарии:

1. Просто попробовал это, и даты не изменились, по-прежнему отображаются мм / дд / гггг

2. Отключили ли вы атрибуты DisplayFormat, чтобы избежать какого-либо конфликта? Это, безусловно, достаточно распространенная проблема, которая решалась таким образом раньше.

3. Нет радости, Стив, удалил DisplayFormat, и он все еще показывает американский!

Ответ №2:

Можете ли вы показать свое представление? вам необходимо отформатировать отображение даты,

  @String.Format("{0:ddd, dd MMM yyyy}", item.StorageDate)
  

или попробуйте использовать EditorTemplate для DateTime 🙂