2016-02-24 30 views
1

HighChart時間序列小時,我這裏有一個小提琴:開始於下午4點

http://jsfiddle.net/sawaira/944zsyy5/2/

$(function() { 
console.log([new Date(2010, 0, 1, 0, 0, 0), 1], 
       [new Date(2010, 0, 1, 1, 0, 0), 2], 
       [new Date(2010, 0, 1, 2, 0, 0), 3], 
       [new Date(2010, 0, 1, 3, 0, 0), 4]); 
    Highcharts.setOptions({           // This is for all plots, change Date axis to local timezone 
       global : { 
        useUTC : false 
       } 
      }); 
    var chart = new Highcharts.Chart({ 

     chart: { 
      renderTo: 'container', 
      zoomType: 'xy' 
     }, 

     xAxis: { 
      type: 'datetime', 
      labels: { 
        formatter: function() { 
         // Show hour and am/pm 
         console.log(this.value); 
         return Highcharts.dateFormat("%l %p", this.value); 
        },      
       },   
     }, 
     series: [{ 
      data: [ 
       [new Date(2010, 0, 1, 0, 0, 0), 1], 
       [new Date(2010, 0, 1, 1, 0, 0), 2], 
       [new Date(2010, 0, 1, 2, 0, 0), 3], 
       [new Date(2010, 0, 1, 3, 0, 0), 4]    
      ] 
     }] 

    }); 
}); 

當使用HighChart選項呈現在X軸次,我總是得到結果,從下午4點。請注意,useUTC是錯誤的,並且我添加了一堆console.log()以查看時間值是否與預期的一樣,並且它們是。

爲什麼我得到上面描述的結果?

+0

看來,將值更改爲.getTime()使其工作。 – Programmer

回答

0

看來,將值更改爲.getTime()使其工作。

+0

如果這是解決方案,那麼請將其標記爲已接受的答案。如果不是 - 使用Date.UTC()而不是'new Date()'似乎可以解決問題 - http://jsfiddle.net/944zsyy5/4/ –

相關問題