jQgrid guriddo - 如何创建持续时间列

时间:2017-09-25 07:47:10

标签: jquery jqgrid

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

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

是否可以在colModel中创建持续时间列而无需修改或优化数据?

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

我的列设置为

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

我使用最新版本的jqgrid guriddo。

更新 示例数据:

{
  "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
}

1 个答案:

答案 0 :(得分:1)

我知道问题出在哪里。 jqGrid获取本地时区并根据此进行转换。

我建议你在这种情况下使用自定义格式化程序而不是构建在一个格式化程序中。所以用

替换formatter:date
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