2017-09-25 21 views
0

我需要创建持续时间列。 我有几秒钟的持续时间,但我需要按照'H:i:s'等格式显示时间。jQgrid guriddo - 如何创建持续时间列

当我使用日期格式化程序和有时间60秒网格显示我的价值'01:01',但我只需要'00:01'。

是否可以在不修改或优化数据的情况下在colModel中创建持续时间列?

也许使用日期格式化程序,但自动递减值-3600。

我的专栏设置

formatter: date 
formatoptions: 
    srcformat: "U" 
    "newformat": "H:i:s" 

我使用的jqGrid guriddo的最新版本。

UPDATE: 【参考数据:

{ 
    "page": 1, 
    "records": 3, 
    "rows": [ 
    { 
     "id": 1, 
     "name": "FIRST ROW", 
     "duration": 1139 
    }, 
    { 
     "id": 2, 
     "name": "SECOND ROW", 
     "duration": 60 
    }, 
    { 
     "id": 3, 
     "name": "THIRD ROW", 
     "duration": 15336 
    } 
    ], 
    "total": 1 
} 
+0

你能请张贴的未来形式的服务器或本地阵列示例数据? –

+0

我测试过这个,它对我来说工作正常 - 它显示00:01:00。请让我们知道使用Guriddo jqGrid的哪个版本exactley,如果可能,请在jsfiddle中准备一个示例,以便我们查看问题。在准备例子的时候,请使用非缩小版 –

回答

1

我看到哪里出了问题。 jqGrid获取本地时区并根据此转换它。

我建议你在这种情况下使用自定义格式化程序,而不是在一个版本。所以更换格式:日期

formatter : function(val, opt, data) { 
    var offset = (new Date(val)).getTimezoneOffset(); 
    return $.jgrid.parseDate.call(this, 'U', (parseFloat(val) + offset*60), 'H:i:s'); 
} 

这种方式从任何时区的时间,用户将看到00:01:00