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