从Kendo日期时间选择器中选择第一个可用日期并且客户端时区为UTC时,设置意外的日期时间-

时间:2019-08-07 18:28:00

标签: jquery asp.net-mvc kendo-grid

我在Asp.net MVC应用程序中使用kendo网格,当我从kendo网格日期选择器中选择第一个可用日期[min date time]时,我得到了预期的日期,但是客户端时区的时间不同是UTC-(例如:UTC-8太平洋时间美国和加拿大),则将时间设置为16:00(此值基于UTC-请参见下表),而不是分钟和分钟,此问题是仅当日期输入字段[Value()]为空时发生,请在下面找到情况

enter image description here

注意:代码已部署在印度,并且可以从不同时区访问URL

  

如果用户时区为UTC + 00或,则按预期工作正常   UTC +以及代码是否已部署时区和用户浏览器时区   一样

问题场景(客户时区UTC –日期时间输入字段为空):

在印度部署代码并从亚利桑那州访问用户(UTC – 07:00) 日期选择器的最小日期时间:28/08/2019 03:47 AM

enter image description here

现在选择第一个可用日期,在时间字段中将其设置为17:00而不是03:47

enter image description here

enter image description here

工作场景(客户时区UTC-输入的日期时间不为空):

日期选择器的最短日期时间:28/08/2019 03:47 AM

在我的日期输入字段中有一些日期和时间,我选择了第一个可用日期,现在它在时间字段中按预期设置了03:47,这种情况很好。

enter image description here

enter image description here

下面是我的代码:

var DateTemplate = DateHeader + " <br>" + @Html.Kendo().DateTimePicker()
                                    .Name("EnrolmentDatePickerHeader")
                                    .Events(events => events.Change("DetailsPage.HeaderSelectionChange"))
                                    .HtmlAttributes(new { @class = "span-field" })
                                    .Interval(30)
                                    //.Value("")
                                    .Min(Model.MinAllowedDate)
                                    .Max(Model.MaxAllowedDate);

有人可以帮我这个忙吗

1 个答案:

答案 0 :(得分:0)

这是kendo的默认行为,为选择第一个可用日期而设置的时间是客户端时区与部署代码的时区之间的时差。 例如: 该代码在英国部署,并且用户从印度访问,因此在日期输入字段为空的情况下选择第一个可用日期时将设置时差5.30。