2016-11-29 85 views
2

我有一個谷歌折線圖顯示正確的行;但日期的註釋完全關閉了一個月。 json數據有正確的日期;但不知何故谷歌圖表轉換它: chart with wrong date谷歌圖表顯示錯誤的月份

任何人有一個想法,爲什麼會發生這種情況?

回答

4

毫無疑問,使用下面的日期構造函數時被顯示

正確的月份,的月份是從零開始 ...

Date(year, month, day, hour, min, sec, mill)

看到下面的代碼片段...

console.log(new Date(2016, 0, 1)); // <-- Jan 
 
console.log(new Date(2016, 1, 1)); // <-- Feb 
 
console.log(new Date(2016, 11, 1)); // <-- Dec
下面

的另一個片段使用與谷歌圖表JSON證明......

google.charts.load('current', { 
 
    callback: function() { 
 
    var data = new google.visualization.DataTable({ 
 
     "cols": [ 
 
     {"label": "Date", "type": "date"} 
 
     ], 
 
     "rows": [ 
 
     {"c": [{"v": "Date(2016,0,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,1,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,2,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,3,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,4,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,5,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,6,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,7,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,8,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,9,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,10,28,15,0,0)"}]}, 
 
     {"c": [{"v": "Date(2016,11,28,15,0,0)"}]}, 
 
     ] 
 
    }); 
 

 
    var chart = new google.visualization.Table(document.getElementById('chart_div')); 
 
    chart.draw(data); 
 
    }, 
 
    packages:['table'] 
 
});
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="chart_div"></div>

下面是一個PHP代碼段使用上述構造

<?php 
$date1 = new DateTime(); 
$date2 = "Date(".date_format($date1, 'Y').", ".((int) date_format($date1, 'm') - 1).", ".date_format($date1, 'd').", ".date_format($date1, 'H').", ".date_format($date1, 'i').", ".date_format($date1, 's').")"; 

echo $date2; 
?> 
創建JSON日期

here is a php fiddle要測試上面的代碼片段...

+0

它幫助!謝謝 – stUrb

+1

你救了我的一天!基於零的月份?爲什麼?......一個修辭問題。這是JavaScript。 –