Kendo Grid DateTime列显示不正确的日期

时间:2017-06-08 18:58:10

标签: kendo-ui timezone kendo-grid kendo-asp.net-mvc kendo-mobile

我有一个具有日期时间列的Kendo Grid,在从数据库中获取日期时,我们得到了正确的日期,但在显示期间,日期会发生变化。例如: DB日期是07/06/2017但是在网站上显示它会变成06/06/2017,考虑到MM / DD / YYYY。有谁可以帮我这个。我们的数据库和网站都位于纽约地区。

1 个答案:

答案 0 :(得分:3)

Kendo UI DataSource将JavaScript Date对象用于日期。这些对象始终位于客户的时区,这可能会导致日期发生变化。可能的选择是使用UTC日期:

http://docs.telerik.com/aspnet-mvc/helpers/grid/how-to/editing/utc-time-on-both-server-and-client

<小时/> 编辑,只需将链接的内容复制到此处,因为SO不喜欢链接唯一的答案

将ViewModel与setter和getter一起使用,明确将DateTime种类设置为UTC。

private DateTime birthDate;
public DateTime BirthDate
{
    get { return this.birthDate; }
    set {
        this.birthDate = new DateTime(value.Ticks, DateTimeKind.Utc);
    }
}

使用requestEnd的{​​{1}}事件拦截并用时差替换传入的日期字段。

DataSource