telerik网格没有显示正确的日期

时间:2012-09-18 07:14:07

标签: asp.net-mvc telerik-grid

我使用过去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" });

感谢。

0 个答案:

没有答案