如何获得Kendo UI MVC datetimepicker在URL /表单中明确的格式化日期?
问题描述:
我试图使用Kendo UI MVC dateTimePicker来明确的格式化日期,以便MVC模型绑定理解它。我有一个通过GET请求提交的表单中的datetimepicker控件。如何获得Kendo UI MVC datetimepicker在URL /表单中明确的格式化日期?
MVC预计在此日期格式:YYYY-MM-DD,但我想页面为DD/MM/YYYY上显示日期
如果我用这个代码,MVC正确地解析日期,但显示今年第一给用户,这是不是我想要的:
@(Html.Kendo().DateTimePicker()
.Name("ToDate")
.Format("yyyy-MM-dd")
)
有一种解决方法,所以我可以格式化在框中人类日期,但在URL明确(不变)格式格式化?
答
您应该将DateTimePicker格式配置为用户友好的格式。然后使用javascript从窗口小部件(不是字符串日期)获取Date对象。然后将此日期对象格式化为'yyyy-mm-dd'并发出请求。
所以你的widget建议立即进行删除是:
@(Html.Kendo().DateTimePicker()
.Name("ToDate")
.Format("dd/MM/yyyy")
)
然后用这个JavaScript来发出请求:
var date = $("#ToDate").data("kendoDateTimePicker").value();
日期变量有一个JavaScript日期就可以格式化:
function dateToString(date){
var str = date.getFullYear() + "-";
str += ('0' + (date.getMonth() + 1)).slice(-2) + "-";
str += ('0' + date.getDate()).slice(-2) + "T";
str += ('0' + date.getHours()).slice(-2) + "-";
str += ('0' + date.getMinutes()).slice(-2) + "-";
str += ('0' + date.getSeconds()).slice(-2);
return str;
}
这种格式是“yyyy-mm-dd hh:mm:ss”,但是如果你想要删除时间部分