Kendo ui 欧洲格式的KendoGrid动态日期过滤器从dd/mm/yyyy反转为mm/dd/yyyy

Kendo ui 欧洲格式的KendoGrid动态日期过滤器从dd/mm/yyyy反转为mm/dd/yyyy,kendo-ui,kendo-grid,kendo-datepicker,Kendo Ui,Kendo Grid,Kendo Datepicker,我有一个KendoGrid,带有一个可过滤的欧洲格式日期列,其中包含eq、gt、lt、gte、lte的日期运算符,我正在尝试从JavaScript动态设置它 栏目: { field: "myDate", sortable: true, filterable: { ui: function(element) { element.kendoDatePicker({ format: "dd/MM/yyyy" }); } }, title: "my dte", width: "150px", minRe

我有一个KendoGrid,带有一个可过滤的欧洲格式日期列,其中包含eq、gt、lt、gte、lte的日期运算符,我正在尝试从JavaScript动态设置它

栏目:

{ field: "myDate", sortable: true, filterable: { ui: function(element) { element.kendoDatePicker({ format: "dd/MM/yyyy" }); } }, title: "my dte", width: "150px", minResizableWidth: "25", format: "{0:dd/MM/yyyy}" }
当我尝试动态设置筛选日期时,如下所示:

filter.filters[0].value = '12/05/2019' 
日期被颠倒到2019年12月5日,如果我尝试使用第一部分(本应为当天)大于12的日期(例如:2019年12月13日),过滤器将显示为空。 问题是,即使我颠倒了我通过的日期,比如:

e=d.substr(0,5).split("/").reverse().join("/")+d.substr(5)
过滤器将显示在过滤器字段中,但它们不工作


演示链接及复制说明:

在链接中,当过滤器更改时,您可以使用如下字符串设置过滤器的值:
“值”:“10/15/2016”
“值”:“12/19/2022”

您应该使用这样的日期:
“价值”:新日期(“2019-10-15”)
“价值”:新日期(“2022-12-19”)


您可以使用另一种方法来构造日期,要点是在过滤器设置中使用日期而不是字符串。

在链接中,当过滤器更改时,您可以使用如下字符串设置过滤器的值:
“值”:“10/15/2016”
“值”:“12/19/2022”

您应该使用这样的日期:
“价值”:新日期(“2019-10-15”)
“价值”:新日期(“2022-12-19”)


您可以使用另一种方法来构造日期,要点是在过滤器设置中使用日期而不是字符串。

谢谢您的回答,但事实上,在我的代码中,我正在将从dataSource.filter()获得的过滤器保存到数据库中。由于某些原因,月份的日期不断被交换。如果你有任何关于我可以检查这个问题的提示,请comment@WilliamBird也许您应该查看保存dataSource.filter()内容的方式。如果您使用此
console.log(dataSource.filter())更改“更改筛选日期”按钮onclick事件的内容然后运行,通过UI更改日期过滤器并单击按钮。那么控制台中的“值”也是一个日期对象。所以,当你保存它时,“值”可能被转换成字符串,也许这就是问题所在。谢谢@Azepic,但我仍然遇到了一个奇怪的问题,我无法在DOJO中重现,也无法在chrome中调试。这真的很奇怪,当我第一次点击日期过滤器时,如果日期小于12,则会被反转,如果它们大于12,因为剑道假设它们无效,则会清除字段。例如,当我尝试filters:2019年4月2日当我单击filter并再次检查值时,如果我再次单击filter,它将反转为2019年2月2日,它将再次反转为2019年4月2日等感谢您的回答,但事实上在我的代码中,我正在将从dataSource.filter()获取的筛选器保存到数据库中。由于某些原因,月份的日期不断被交换。如果你有任何关于我可以检查这个问题的提示,请comment@WilliamBird也许您应该查看保存dataSource.filter()内容的方式。如果您使用此
console.log(dataSource.filter())更改“更改筛选日期”按钮onclick事件的内容然后运行,通过UI更改日期过滤器并单击按钮。那么控制台中的“值”也是一个日期对象。所以,当你保存它时,“值”可能被转换成字符串,也许这就是问题所在。谢谢@Azepic,但我仍然遇到了一个奇怪的问题,我无法在DOJO中重现,也无法在chrome中调试。这真的很奇怪,当我第一次点击日期过滤器时,如果日期小于12,则会被反转,如果它们大于12,因为剑道假设它们无效,则会清除字段。例如,当我尝试筛选时:2019年4月2日当我单击筛选并再次检查值时,如果我再次单击筛选,它将反转为2019年2月4日,它将再次反转为2019年4月2日,以此类推