将值分配给格式为 MM/YYYY 的引导日期时间选取器显示不正确的年份



我在ASP MVC 4应用程序中使用bootstrap-datetimepicker版本4.17.47。

我有这个模型属性:

public DateTime MonthYear { get; set; }

我在控制器中分配默认值(任意值只是一个示例,实际值是通过一些逻辑确定的(:

model.MonthYear = new DateTime(2017, 3, 1);

我使用日期选择器在视图中显示它,以便用户可以根据需要更新值:

@Html.TextBoxFor(model => model.MonthYear, new { @class = "form-control input month-picker" })

脚本:

$('.month-picker').datetimepicker({
format: 'MM/YYYY',
useCurrent: false,
toolbarPlacement: 'bottom',
viewMode: 'months'
});

问题是控件显示"03/0001"而不是"03/2017"。

我在这里错过了什么?

显然,问题是当日期时间选择器仅期望 MM/YYYY 时,输入正在用来自服务器的 DD/MM/YYYY 日期填充。尝试设置文本框的格式,如下所示:

@Html.TextBoxFor(model => model.MonthYear, "{0:MM/yyyy}", new { @class = "form-control input month-picker" })

这应该行得通。

最新更新