mysql - Kendo grid 没有显示正确的时间

标签 mysql kendo-ui kendo-grid kendo-dataviz

我有一个剑道网格,我在一列中显示时间,如图 enter image description here 所示。

但每当我使用编辑剑道按钮时间选择器更新时间时,它不会显示正确的时间,尽管如果我选择 5:12 AM,它会正确保存在数据库中,但在更新时它不会显示正确的时间。有人写过在模型定义中使用 parse 函数

 parse: function (d) {
    $.each(d, function (idx, elem) {
        elem.event_time = kendo.parseDate(elem.event_time, "yyyy-mm-ddThh:mm:ss.fffz");
    });
    return d;
}

然后使用 {0:hh:mm tt} 格式化列。

columns   : [
...
{
    field : "date",
    title : "Date",
    format: "{0:hh:mm tt}"
} ,
...

]

但它仍然不起作用,它返回网格的第一个事件时间,甚至在页面加载时它也不起作用。如何以 utc 或其他格式在剑道网格中显示 mysql 时间数据。

最佳答案

好的,我找到了答案并且它正在运行。首先 kendo 返回 GMT 日期格式并以本地时间格式显示日期,您需要像这样修改 kendo parse 函数:

 parse : function(response) {
            $.each(response, function(idx, elem) {
                if (elem.event_time && typeof elem.event_time == "string") {
                    var d=new Date(Date.parse(elem.event_time));
                    var utcdate =  new Date(d.getTime() + (d.getTimezoneOffset()*60000));
                    elem.event_time = new Date(elem.event_time).toISOString();
                }
            });
            return response;
        },

并将parameterMap更改为

parameterMap : function(options, operation) {
                  if(operation == "update") {
                     var d=new Date(Date.parse(options.models[0].event_time));
                     var utcdate =  new Date(d.getTime() + (d.getTimezoneOffset()*60000));
                     options.models[0].event_time = utcdate;
                     return { event : options.models[0] };
                  }
               }

可能你还需要添加

save: function(response) {
        dataSource.fetch(function() {
          var row = dataSource.at(0);
          var d=new Date(Date.parse(row.event_time));
          //To convert to UTC datetime by subtracting the current Timezone offset
          var utcdate =  new Date(d.getTime() + (d.getTimezoneOffset()*60000));
          row.set("event_time", row.event_time); 
        });
    },

我相信这对每个人都有效

关于mysql - Kendo grid 没有显示正确的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24567413/

相关文章:

python - 如何将 Python3 与 apache 一起使用,使用 MySQL 作为数据库语言?

kendo-ui - 我如何检查节点是否在 Kendo treeView 中展开

jquery - 保持 Kendo 网格中所选选项卡之间的滚动位置

javascript - 剑道网格添加新条目

javascript - Kendo Grid 多选复选框

php - 自动创建网上商店

mysql - 保存/序列化/转储已删除的对象,然后再次恢复

java - ResultSet 关闭错误后不允许操作

php - 在 Kendo UI 中显示编码的 HTML

jquery - 突出显示在剑道网格中单击的按钮