ASP.NET MVC编辑器模板中用于短ISO-8601日期的DataFormatString

时间:2014-06-06 19:08:13

标签: c# asp.net-mvc html5 datetime-format

在我的ASP.NET MVC5项目中,我想用DateTime编辑Html.TextBox类型,以本地时间的短日期格式显示从数据库返回的日期。在Chrome浏览器和input type="date"标记中使用HTML5,我必须使用ISO-8601格式的value属性。我可以轻松弄清楚如何执行此操作的唯一方法是在我的编辑器模板中使用日期格式字符串"{0:yyyy-MM-dd}"

如果将日期格式字符串硬编码到"{0:yyyy-MM-dd}"是显示日期的唯一方法,或者是否有其他方法可以使用短日期格式指定符合的文化或模板格式,请告诉我ISO-8601日期standards。例如,"{0:d}"以某种方式CultureInfo.CreateSpecificCulture(something)

我知道由于input type=date不断发展的支持,不一定建议使用HTML5,这不是这个问题的内容。我也意识到"{0:yyyy-MM-dd}"可能比使用文化容易得多,我只是很好奇。

我的cshtml EditorTemplate为我的可空DateTime类型:

@model DateTime?

@if (Model != null)
{
    @Html.TextBox("", Model, "{0:yyyy-MM-dd}", new { @type = "date" })  // all datetime's in my preexisting database deal with just the date portion.
}
else
{
    @Html.TextBox("", "", new { @type = "date" })
}

0 个答案:

没有答案