Невозможно установить формат даты и времени в MVC 4 с использованием аннотаций данных
Я попробую все, но не работаю с этим (dd/MM/yyyy) формат даты, это всегда затворы мм/дд/гггг
[Display(Name = "Release Date")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public Nullable<DateTime> release_date { get; set; }
Вид бритвы
@Html.EditorFor(model => model.release_date)
Использование шаблона DateTime.
@model Nullable<System.DateTime>
@if (Model.HasValue)
{
@Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value))
}
else
{
@Html.TextBox("", String.Format("{0:dd/MM/yyyy}", DateTime.Now))
}
@{
string name = ViewData.TemplateInfo.HtmlFieldPrefix;
string id = name.Replace(".", "_");
}
<script type="text/javascript">
$(document).ready(function () {
$("#@id").datepicker({
dateFormat: "dd/mm/yy",
showStatus: true,
showWeeks: true,
highlightWeek: true,
numberOfMonths: 1,
showAnim: "scale",
showOptions: {
origin: ["top", "left"]
}
});
});
</script>
Ответы
Ответ 1
Вы пропустили здесь 2 вещи:
DataFormatString="{0:dd/MM/yyyy}"; //It is dd/MM/yyyy instead of dd/mm/yyyy
и вам также необходимо:
ApplyFormatInEditMode=true
Попробуйте использовать это:
[Display(Name = "Release Date")]
[DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yyyy}", ApplyFormatInEditMode=true )]
public Nullable<DateTime> release_date { get; set; }
Ответ 2
{0:dd/mm/yyyy}
должен быть {0:dd/mm/yyyy}
, потому что mm
означает минуты, а не месяцы:
[Display(Name = "Release Date")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public Nullable<DateTime> release_date { get; set; }
Ответ 3
Если вы используете аннотацию данных. когда дисплей хорош. но в режиме редактирования. он по-прежнему использует формат сервера (настройка культуры)
DisplayFormat: нравится это имя, только для отображения
Есть несколько вариантов решения.
- вставить в качестве строки строку с вашим любимым форматом
- написать привязку клиента
- Настройка глобализации в web.config
для формата: dd/MM/yyy i, используя настройку ниже.
<system.web>
<globalization culture="en-GB"/>
....