#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 🙂