2016-11-30 24 views
2

我希望配置一個圖表,以具有不同的時區(例如我在UTC + 00和要顯示在UTC數據+ 01)chart.js之 - 顯示控制時間尺度時區

是否有一個辦法?根據文檔,我必須返回一個片刻對象,然後根據當前全局語言環境顯示日期。

回答

4

在時間配置選項指定parser作爲一個函數:

   scales: { 
        xAxes: [{ 
         type: 'time', 
         time: { 
          unit: 'hour', 
          min: minDate, 
          max: maxDate, 
          displayFormats: { 
           hour: 'HH' 
          }, 
          parser: function (utcMoment) { 
           return utcMoment.utcOffset('+0100'); 
          }     
         } 
        }] 

除了轉換圖表值,這也將適用於x軸的最小/最大值。

這假定您的最小值/最大值和標籤數組是用矩對象填充的。如果處理日期對象,那麼函數需要首先將日期轉換爲某一時刻。

parser: function(date) { 
    return moment(date).utcOffset('+0100'); 
} 
+2

謝謝,這正是我所需要的!但是,出於某種原因,在我的環境中'utcOffset()'函數不存在於'utcMoment'參數中。我的解決方法是執行'return moment(utcMoment).utcOffset('+ 0100');' –

+1

@RobinZimmermann您的標籤數組和/或min //最大值可能是日期對象,而不是開始的時刻。對我而言,這是一個假設。 –

+0

啊,當然,你是對的!數據集來自Meteor的MongoDB查詢,所以它們是日期對象。 –