Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kendo ui 剑道网格读取请求日期时间筛选器问题:如何以Utc或至少使用时间偏移信息发送日期?_Kendo Ui_Kendo Grid - Fatal编程技术网

Kendo ui 剑道网格读取请求日期时间筛选器问题:如何以Utc或至少使用时间偏移信息发送日期?

Kendo ui 剑道网格读取请求日期时间筛选器问题:如何以Utc或至少使用时间偏移信息发送日期?,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我认为这个问题与ASP MVC(剑道版本)无关,只是因为我使用的信息,特别是2015.1.408 当网格(因此是数据源)设置了datetime筛选器,并且网格向服务器发出读取请求时,它会序列化其筛选器,此序列化字符串是名为参数“filter”的请求的一部分,以及其他参数,如页面、页面大小、排序等 不幸的是,过滤器文本不是Json: (LevelInt~gte~-2147483648~and~DateTime~gte~datetime'2015-06-19T00-00-00'~and~DateTi

我认为这个问题与ASP MVC(剑道版本)无关,只是因为我使用的信息,特别是2015.1.408

当网格(因此是数据源)设置了datetime筛选器,并且网格向服务器发出读取请求时,它会序列化其筛选器,此序列化字符串是名为参数“filter”的请求的一部分,以及其他参数,如页面、页面大小、排序等

不幸的是,过滤器文本不是Json:

(LevelInt~gte~-2147483648~and~DateTime~gte~datetime'2015-06-19T00-00-00'~and~DateTime~lte~datetime'2015-06-19T23-59-59')
问题是datetimes正是用户在其时区中在客户端输入的值,但没有此时区信息

因此,不可能知道它到底是什么。。。如果数据库中的所有数据都存储在UTC中,则无法进行筛选

更清楚地说:这种序列化是一种明显的信息丢失。日期时间应该是UTC,或者时区应该与日期一起提供。(假设一个数据库中充满了事件,如log,all date in UTC,原因很多。我们必须以UTC为查询日期,或者知道其时区才能正确转换为UTC)

*编辑:

复制步骤:

  • 发射小提琴手
  • 转到此演示:
  • 使用订单日期列过滤器。不要浪费 您选择日期的时间将有超过0个结果,只需选择 约会
  • 切换到Fiddler并找到数据源datarequest 要求。见下图:
  • 现在我必须找到一个解决办法。
    有什么想法吗?

    为什么在将筛选日期发送到服务器之前,不能在客户端将其转换为UTC?@RickS。1) 这是剑道部分。它(不是我)使用正确的时区信息将客户端的过滤数据正确地存储在本地javascript日期中。没什么可转换的。2) 发送数据的不是我。它是网格/数据源组件,例如当用户在网格中选择第3页时。在将数据发送到服务器之前,请将其转换为UTC。也许看看你的代码会有帮助……瑞克S:再说一遍:发送数据的不是我。这是剑道部分。它是网格/数据源组件,比如当用户在网格中选择第3页时。serverfiltering是否设置为true?如果是,则可以转换日期或将所需的任何信息传递给服务器筛选进程。