Kendo DateTimePicker ParseFormats 不工作

Kendo DateTimePicker ParseFormats not working

我在我的 ASP.NET MVC 项目中使用 Telerik Kendo UI 框架,我想启用一项功能,让用户可以在 DateTimePicker 输入中输入自由文本,例如:20150820、20150820 1330

Kendo DateTimePicker 具有名为“parseFormats”的内置属性来完成此任务。但是在以下情况下它会失败:

<input ... data-parse-foramts="['ddMMyyyy HHmm','ddMMyyyy', 
'dd-MM-yyyy', 'dd-MM-yyyy HH:mm', 'yyyyMMdd', 'yyyyMMdd HHmm']" ... />

最后一个值让用户可以输入像 20152020 1330 这样的自由文本,它应该被解析为 2015-20-20 13:30,但是 时间部分 (13:30) 不起作用 ,控件始终显示 00:00。所有其他包含的格式都按预期工作。

虽然我尝试将格式简化为 data-parse-formats="['yyyyMMdd HHmm']",但一切正常。

为什么会这样,我该如何实现我想要的功能?

正如@Vijai 在评论中提到的,问题的关键在于,解析格式数组应具有严格的顺序:

Order of the provided parse formats is important and it should from stricter to less strict.

这意味着 yyyyMMdd HHmmtt 应该放在 yyyyMMdd 之前等等

这是我改进的解析格式,适用于所有包含的格式:

['ddMMyyyy HHmm', 'yyyyMMdd HHmm', 'dd-MM-yyyy HH:mm', 'dd-MM-yyyy', 'yyyyMMdd', 'ddMMyyyy', 'HHmm']