我使用过Jquery UI datepicker。 我的模型看起来像:
[DataType(DataType.Date)]
public DateTime? endDate { get; set; }
用于在视图中显示
@Html.TextBoxFor(x => x.endDate, new { @class = "datepicker" })
脚本
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$(function () {
$(".datepicker").datepicker({
dateFormat: "mm/dd/yy",
changeMonth: true,
changeYear: true
});
});
});
</script>
显示日期时间时,它看起来像 09年11月12日上午12:00:00 我只想在没有时间的情况下显示日期。谢谢你的帮助。
答案 0 :(得分:3)
您可以通过日期时间选择器以所需格式解析日期。在javascript中试试这个:
$(document).ready(function(){
$("#endDate").val($.datepicker.parseDate('mm/dd/yy', $("#endDate").val()));
// Existing stuff
});
或者,您可以使用$.datepicker.formatDate
。
示例:
$("#endDate").val($.datepicker.formatDate('dd-M-yy', new Date($("#endDate").val())));
<强> DEMO 强>
祝你好运!!
答案 1 :(得分:2)
[DisplayName("Start Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime StartDate { get; set; }
答案 2 :(得分:2)
使用此
@Html.TextBoxFor(x => x.HasValue ? x.Value.ToString("MM/dd/yy") : string.Empty, new { @class = "datepicker" })
您可以从此处选择您喜欢的任何格式: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
答案 3 :(得分:1)
您可以使用上述任何一种方法,例如:将其格式化为输出,但是在显示时真的需要返回DateTime属性吗?显示@ Html.TextBoxFor(x =&gt; x.endDate.Date?
是否更有效率?答案 4 :(得分:1)
对于DateTime
,我更喜欢使用EditorTemplate
:
@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), new { @class = "datepicker" })
答案 5 :(得分:0)
我使用了EditorFor而不是TextBoxFor
@Html.EditorFor(x => x.endDate, new { @class = "datepicker" })
在视图中工作正常。