我使用过去1年的Asp.Net MVC的telerik扩展。
之前我注意到服务器和日期之间存在一些重大差异。在Sql Server&在telerik列中呈现的日期。 附件是显示日期差异的屏幕截图。
你能否提出任何集中解决方案来解决这个问题,因为到目前为止,在更多的地方都有网格。这个问题让我头疼。
经过一些谷歌搜索后,我发现浏览器通常会在javascript中呈现日期之前添加浏览器时区的一些时间偏移,所以我的简单解决方案是从我得到的日期中减去浏览器时区偏移量。
所以我添加了一个javascript函数来处理这个问题,但仍然可以在一个时区中使用该解决方案,但对于其他时区,它显示了更多的差异。
我的服务器位于中央时区,而用户都在美国的其他时区。
任何人都可以建议我解决这个问题吗?
这是我的javascript函数
function parseToServerTimezone(date) {
if (date != null) {
var clientOffset = new Date().getTimezoneOffset();
var newDate = new Date(date);
newDate.setMinutes(date.getMinutes() - clientOffset);
return $.telerik.formatString("{0:g}", date);
}
return date;
}
以下是它在网格中的使用方式,我的所有网格都是ajax绑定在这里
column.Bound(m => m.CapCycleStartDate).Title(Html.Resource("CapCycleStartDate")).ClientTemplate("<#= parseToServerTimezone(CapCycleStartDate) #>").Width(18).HtmlAttributes(new { align = "center" });
感谢。