2014-05-08 60 views
1

我在寫信尋求幫助,我該如何將日期格式化爲以下格式(dd-mm-yyyy)而不是以下輸出中顯示的內容:線條圖顯示「NaN」日期格式 - 問題

enter image description here

我在下面的JavaScript日期分析器加入我仍然不能確定,爲什麼我收到這種格式。請指教。

function drawVisualization(dataValues, chartTitle, columnNames, categoryCaption) { 
     if (dataValues.length < 1) 
      return; 

     var data = new google.visualization.DataTable(); 
     data.addColumn('string', columnNames.split(',')[0]); 
     data.addColumn('number', columnNames.split(',')[1]); 
     data.addColumn('string', columnNames.split(',')[2]); 
     data.addColumn('datetime', columnNames.split(',')[3]); 

     for (var i = 0; i < dataValues.length; i++) { 

      var date = new Date(parseInt(dataValues[i].Date.substr(6), 10)); 

      data.addRow([dataValues[i].ColumnName, dataValues[i].Value, dataValues[i].Type, date]); 
     } 

     var dateFormatter = new google.visualization.DateFormat({ pattern: 'dd MM yyyy' }); 
     var line = new google.visualization.ChartWrapper({ 
      'chartType': 'LineChart', 
      'containerId': 'PieChartContainer', 
      'options': { 
       'width': 950, 
       'height': 450, 
       'legend': 'right', 
       'hAxis': { 
        'format': "dd-MM-yyyy", 
        'hAxis.maxValue': 'viewWindow.max', 
        'maxValue': new Date(2014, 05, 30), 'minValue': new Date(2014, 04, 05), 
        'viewWindow': { 'max': new Date(2014, 05, 30) }, 
       }, 
       'title': chartTitle, 
       'chartArea': { 'left': 100, 'top': 100, 'right': 0, 'bottom': 100 }, 
       'tooltip': { isHtml: true } 
      }, 
      'view': { 
       'columns': [{ 

        type: 'string', 
        label: data.getColumnLabel(3), 
        calc: function (dt, row) { 
         var date = new Date(parseInt(dt.getValue(row, 3))); 
         return dateFormatter.formatValue(date); 
        } 
       }, 1, { 
        type: 'string', 
        role: 'tooltip', 
        calc: function (dt, row) { 
         return 'Name: ' + dt.getValue(row, 0) + ', Decimal Price: ' + +dt.getValue(row, 1) + ', Date: ' + +dt.getFormattedValue(row, 3); 
        } 
       }] 
      } 
     }); 

     new google.visualization.Dashboard(document.getElementById('PieChartExample')).bind([categoryPicker], [line]).draw(data); 
    } 

在此先感謝您的幫助。

回答

3

由於您的數據表列的類型是「日期時間」,你不希望在這裏呼籲parseInt它:

var date = new Date(parseInt(dt.getValue(row, 3))); 

剛剛獲得直接日期:

var date = dt.getValue(row, 3); 
+0

謝謝你這麼多你的幫助。 – user3070072