我在mvc4应用程序中使用twitter boostrap datepicker。在我的模型中,我将日期属性设置为 -
[DisplayName("Date Last Modified")]
[DisplayFormat(DataFormatString = "{0:dd/MMM/yyyy}")]
public DateTime? EmpLastModified { get; set; }
Jquery datepicker是 -
@if (Model.HasValue && ((DateTime)Model.Value).Year > 1500)
{
@Html.TextBox("", String.Format("{0:dd/MMM/yyyy }", Model.Value), new { @class = "textbox", @style = "width:125px;" })
}
else {
@Html.TextBox("", String.Format("{0:dd/MMM/yyyy}", DateTime.Now), new { @class = "textbox", @style = "width:125px;" })
}
<script type="text/javascript">
$(document).ready(function () {
$("#@id").datepicker
({
dateFormat: '0:dd/MMM/yyyy',
showStatus: true,
showWeeks: true,
highlightWeek: true,
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
showAnim: "scale",
showOptions: {
origin: ["top", "left"]
}
});
});
日期选择器应显示为2013年5月23日作为日期,但它显示为2013年11月23日,而在firebug中则显示
<input id="EmpDateAdded" class="textbox" type="text" value="23-May-2013" style="width:125px;" name="EmpDateAdded" data-val-date="The field Date Added To System must be a date." data-val="true">
我使用的是datepicker.css和bootstrap-datepicker.js,date.format.js
请帮忙。提前致谢
答案 0 :(得分:2)
datepicker的格式字符串与.NET不同。假设您正在使用eternicode version,请将其用作datepicker的格式指南(从文档中提取):
Default: 'mm/dd/yyyy'
The date format, combination of d, dd, D, DD, m, mm, M, MM, yy, yyyy.
d, dd: Numeric date, no leading zero and leading zero, respectively. Eg, 5, 05.
D, DD: Abbreviated and full weekday names, respectively. Eg, Mon, Monday.
m, mm: Numeric month, no leading zero and leading zero, respectively. Eg, 7, 07.
M, MM: Abbreviated and full month names, respectively. Eg, Jan, January
yy, yyyy: 2- and 4-digit years, respectively. Eg, 12, 2012.
答案 1 :(得分:0)
我建议你使用moment.js 如果您能够在工作中使用任何库。