2017-09-25 9 views
0

期間の作成列が必要です。 時間は秒単位ですが、「H:i:s」のような形式で表示する必要があります。jQgrid guriddo - 期間列の作成方法

私は日付フォーマッタを使用し、60秒のグリッド値を表示すると'01:01 'という値が表示されますが、'00:01'のみ必要です。

データを変更または最適化せずにcolModelでdurationカラムを作成することはできますか?

日付フォーマッタは使用できますが、自動デクリメント値は-3600です。

私の列の設定は、私はjqgrid guriddoの最新バージョンを使用し

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

です。

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が使用されているかをお知らせください。可能であれば、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'); 
} 

とデートこの方法は、任意の時間帯から任意のユーザは、0時01分00秒

関連する問題