以下哪项出错?使用剃须刀转换DateTime格式
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@ item.Date是显示2005-11-15 12:00我要显示2011年11月20
以下哪项出错?使用剃须刀转换DateTime格式
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@ item.Date是显示2005-11-15 12:00我要显示2011年11月20
尝试:
@item.Date.ToString("dd MMM yyyy")
,或者您可以使用[DisplayFormat]
属性您的视图模型:
[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
public DateTime Date { get; set }
,并在你看来简单:
@Html.DisplayFor(x => x.Date)
我试图用文本框,不幸它没有工作。有没有办法做到这一点的文本框? – Tobias 2011-07-12 11:08:11
对于文本框,只需使用EditorFor而不是DisplayFor – 2011-07-22 21:03:44
如果要将日期格式应用于EditorFor()元素,请记住在DisplayFormat定义中设置“ApplyFormatInEditMode = true”。 – Latedeveloper 2011-10-22 10:47:45
一般来说,书面月转义为MMM,4位数的年份为yyyy,让您的格式字符串应该像 “DD MMM YYYY”
DateTime.ToString("dd MMM yyyy")
这是解决方案:
@item.Published.Value.ToString("dd. MM. yyyy")
之前的ToString()使用价值。
[DisplayFormat]属性仅用于EditorFor/DisplayFor,而不是TextBoxFor等原始HTML API。我把它做以下工作,
型号:
[Display(Name = "When was that document issued ?")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime? LiquorLicenceDocumentIssueDate { get; set; }
查看:
<div id="IsLiquorLicenceDocumentOnPremisesYes" class="groupLongLabel">
@Html.LabelFor(m => m.LiquorLicenceDocumentIssueDate)
<span class="indicator"></span>
@Html.EditorFor(m => m.LiquorLicenceDocumentIssueDate)
<span id="validEmail"></span>
<br />
@Html.ValidationMessageFor(m => m.LiquorLicenceDocumentIssueDate)
</div>
输出: 30/12/2011
相关链接:
对于Razor将文件DateTime.cshtml放入Views/Shared/EditorTemplates文件夹中。 DateTime.cshtml包含两行并生成格式为9/11/2001的日期的TextBox。
@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" })
试试这个在MVC 4.0
@Html.TextBoxFor(m => m.YourDate, "{0:dd/MM/yyyy}", new { @class = "datefield form-control", @placeholder = "Enter start date..." })
下面的代码将帮助你存在可以在这里找到不同的日期格式说明的
@Html.Label(@item.Date.Value.ToString("dd - M - yy"))
组合:HTTP:// msdn.microsoft.com/en-us/library/8kb3ddd4.aspx – 2013-05-15 07:59:22