首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC DisplayFormat日期+时间

MVC DisplayFormat日期+时间
EN

Stack Overflow用户
提问于 2015-11-02 21:31:35
回答 2查看 6.1K关注 0票数 0

我尝试用以下格式显示日期:yyyy-MM-dd HH:mm,但它不能工作(当然,yyyy-MM-dd工作得很好,问题在于时间)

型号:

代码语言:javascript
复制
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm}", ApplyFormatInEditMode = true)]
public DateTime eventstart { get; set; }

查看:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2015-11-02 23:50:33

我假设您正在使用type="date"生成一个输入。有两个问题需要注意:

正如@JonSkeet指出的那样,

  1. 指出,如果你想处理日期和时间,那么你需要使用DataType.DateTime。这将导致输入呈现为type="datetime"。对于“date”类型的输入,最好的情况是任何时间组件都将被丢弃,或者最坏的情况是不允许为浏览器的date控件正确解析该值,这给我们带来了:
  2. HTML5 datetime输入类型("datetime","date"," time ")要求值为ISO格式,即YYYY-MM-DDTHH:MM:SSZ。浏览器控件将根据解析ISO格式的日期以用户的本地格式显示日期/时间,但必须首先为其提供ISO格式的值。如果不是,则将其视为null,并将输入值显示为空。
票数 2
EN

Stack Overflow用户

发布于 2016-10-26 20:42:08

更改:

代码语言:javascript
复制
@Html.EditorFor(model => model.eventstart, 
                new { htmlAttributes = new { @class = "form-control" } })

至:

代码语言:javascript
复制
@Html.EditorFor(model => model.eventstart, 
                new { htmlAttributes = new { @class = "form-control", @type="date" } })

当然它会起作用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33478791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档