.NET datepicker 格式给出“MM-dd-yyyy”而不是“MM/dd/yyyy”
Posted
技术标签:
【中文标题】.NET datepicker 格式给出“MM-dd-yyyy”而不是“MM/dd/yyyy”【英文标题】:.NET datepicker format gives "MM-dd-yyyy" instead of "MM/dd/yyyy" 【发布时间】:2015-02-11 17:48:11 【问题描述】:我在我的 MVC 中创建了一个运行良好的日期选择器,但是当我选择一个日期时,我得到的格式为“MM/dd/yyyy”。当我保存它时,它会变回“MM-dd-yyyy”。如果我尝试使用这种格式保存,日期选择器会说它不是有效日期,因为它已将分隔符从“/”更改为“-”。 所以我希望保持这样的格式“MM/dd/yyyy”。
这是我实现日期选择器的字段的代码:
@html.ValidationSummary(true)
@Html.HiddenFor(model => model.Id)
<div class="form-group">
@Html.LabelFor(model => model.TimeFrom, new @class = "control-label col-md-2" )
<div class="col-md-10">
@*@Html.EditorFor(model => model.TimeFrom)*@
@Html.TextBoxFor(model => model.TimeFrom, "0:MM/dd/yyyy", new @class = "datepicker form-control")
@Html.ValidationMessageFor(model => model.TimeFrom)
</div>
</div>
这是给我的日期选择器的:
<script type="text/javascript">
$(document).ready(function ()
$('.datepicker').each(function ()
$(this).datepicker(
changeMonth: true,
changeYear: true
);
);
);
</script>
【问题讨论】:
【参考方案1】:将格式添加到您的 datepicker
选项中:
<script type="text/javascript">
$(document).ready(function ()
$('.datepicker').each(function ()
$(this).datepicker(
changeMonth: true,
changeYear: true,
dateFormat: "mm/dd/yy"
);
);
);
</script>
datepicker
格式与 ASP.NET 格式略有不同。 mm
相当于MM
,yy
相当于yyyy
。
【讨论】:
【参考方案2】:我能够使用我想要的日期格式“dd.mm.yyyy”的唯一方法是这样的:
对于剃刀语法,我必须使用 TextBoxFor(如果使用 EditorFor,Chrome 将无法正常工作):
@ Html.EnableClientValidation(false);
@Html.TextBoxFor(model => model.Date, new
@Value = Model.Date.ToString("dd.MM.yyyy"),
@class = "datepicker",
placeholder = "Enter date here..."
)
@ Html.EnableClientValidation(true);
在模型声明中需要添加一些属性:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "0:dd.MM.yyyy", ApplyFormatInEditMode = true)]
public DateTime Date get; set;
还有一点 javascript 代码:
$('.datepicker').datepicker(
dateFormat: 'dd.mm.yy'
);
【讨论】:
以上是关于.NET datepicker 格式给出“MM-dd-yyyy”而不是“MM/dd/yyyy”的主要内容,如果未能解决你的问题,请参考以下文章
ASP.Net MVC jQuery UI DatePicker 日期格式
ASP.NET MVC3:使用 JQuery DatePicker 和 editorFor/TextBoxFor 以正确的格式显示日期
从 DatePicker 以 yyyy/MM/dd 格式获取日期
无法让 Jquery datepicker 在我的 asp.net mvc 项目中工作