2016-03-28 14 views
0
 var table = $('#data-table').DataTable(
      { 
       ajax: { 
        type: 'GET', 
        url: '/temperature' 

       }, 
       bFilter: false, 
       "bLengthChange": false, 
       aaSorting: [], 
       columns: [ 
        {data: "t"}, 
        {data: "c"} 

       ] 
      } 
     ); 

Ich habe den obigen Code einige JSON-Daten verbrauchen eine Tabelle mit Datentabellen zu füllen (https://datatables.net/). Das JSON-Format ist wie folgt: {data: [{t:1459192455326, c:2},{t: 1459192455326, c:3}]}.Wie nachbearbeiten Spaltenwerte in jQuery Tables

Also, wie kann ich einige Nachbearbeitung der zurückgegebenen JSON (Zeitstempel in lesbare Form konvertieren), um die Tabelle zu rendern?

Antwort

1

Wenn Sie Zeitstempel umwandeln möchten, können Sie verwenden:

function TimestampToDate(unix_timestamp){ 
// Create a new JavaScript Date object based on the timestamp 
// multiplied by 1000 so that the argument is in milliseconds, not seconds. 
var date = new Date(unix_timestamp*1000); 
// Hours part from the timestamp 
var hours = date.getHours(); 
// Minutes part from the timestamp 
var minutes = "0" + date.getMinutes(); 
// Seconds part from the timestamp 
var seconds = "0" + date.getSeconds(); 

// Will display time in 10:30:23 format 
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2); 

return formattedTime; 
} 

Für den Einsatz in Datentabelle können Sie render Funktion versuchen verwenden ...

var data = [{t:1459192455326, c:2},{t: 1459192455326, c:3}]; 

var table = $('#example').DataTable(
     { 
      data : data, 
      bFilter: false, 
      "bLengthChange": false, 
      aaSorting: [], 
      columns: [ 
       {data: "t", 
       "render": function(oObj) { 
         return TimestampToDate(oObj); 
     } }, 
       {data: "c"} 

      ] 
     } 
    ); 

Ergebnis: https://jsfiddle.net/cmedina/7kfmyw6x/30/

+0

Das ist großartig! Du hast meinen Tag gerettet! – condor126