我尝试用以下格式显示日期:yyyy-MM-dd HH:mm,但它不能工作(当然,yyyy-MM-dd工作得很好,问题在于时间)
型号:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm}", ApplyFormatInEditMode = true)]
public DateTime eventstart { get; set; }查看:
<div class="form-group">
@Html.LabelFor(model => model.eventstart, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.eventstart, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.eventstart, "", new { @class = "text-danger" })
</div>
</div>发布于 2015-11-02 23:50:33
我假设您正在使用type="date"生成一个输入。有两个问题需要注意:
正如@JonSkeet指出的那样,
DataType.DateTime。这将导致输入呈现为type="datetime"。对于“date”类型的输入,最好的情况是任何时间组件都将被丢弃,或者最坏的情况是不允许为浏览器的date控件正确解析该值,这给我们带来了:YYYY-MM-DDTHH:MM:SSZ。浏览器控件将根据解析ISO格式的日期以用户的本地格式显示日期/时间,但必须首先为其提供ISO格式的值。如果不是,则将其视为null,并将输入值显示为空。发布于 2016-10-26 20:42:08
更改:
@Html.EditorFor(model => model.eventstart,
new { htmlAttributes = new { @class = "form-control" } })至:
@Html.EditorFor(model => model.eventstart,
new { htmlAttributes = new { @class = "form-control", @type="date" } })当然它会起作用的。
https://stackoverflow.com/questions/33478791
复制相似问题