2017-10-23 3 views
0

enter image description here私はサーバーから日付を取得し、必要なハイチャートとしてすべての日付をタイムスタンプに変換します。しかし、rangeSelectorボタンは間違った日付を表示します。たとえば、dateBegin = 02/07/2017、dateEnd 09/07/2017の場合、highstock dateRangeは、01/07/2017 - 08/07/2017のような間違った日付を示します。ハイストックは常に日付 - 1日を示すようです。どうすれば修正できますか?highstockはselectorRangeボタンで間違った日付を表示します

これは、これは私の入力である私の設定 onInitConfig =({シリーズ、periodId、高})=>のINIT { のconst {onSelectRange} = this.props

moment.locale('ru', localization) 

const heightChart = `${ height }px` 

const config = { 
    chart: { 
    height: heightChart, 
    events: { 
     redraw: function(event) { 
     const currentDateBegin = Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.rangeSelector.minInput.HCTime) 
     const currentDateEnd = Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.rangeSelector.maxInput.HCTime) 
     onSelectRange && onSelectRange({ currentDateBegin, currentDateEnd }) 
     } 
    } 
    }, 
    rangeSelector: { 
    buttons: [{ 
     type: 'week', 
     count: '1', 
     text: 'н' 
    },{ 
     type: 'month', 
     count: 1, 
     text: 'м', 
    },{ 
     type: 'month', 
     count: 3, 
     text: 'кв' 
    }, { 
     type: 'month', 
     count: '6', 
     text: 'пг' 
    },{ 
     type: 'year', 
     count: 1, 
     text: 'г' 
    }], 
    buttonSpacing: 2, 
    selected: periodId - 1, 
    inputDateFormat: '%d/%m/%Y', 
    labelStyle: { 
     fontFamily: 'HelveticaLight', 
     fontSize: '14px', 
    } 
    }, 
    title: { 
    align: 'left', 
    text: '', 
    }, 
    navigation: { 
    buttonOptions: { 
     enabled: false, 
    } 
    }, 
    navigator: { 
    xAxis: { 
     labels: { 
     formatter: function() { 
      return moment(this.value).format('DD MMMM') 
     }, 
     style: { 
      fontFamily: 'HelveticaLight', 
      fontSize: '14px', 
     } 
     } 
    }, 
    }, 
    xAxis: { 
    labels: { 
     formatter: function() { 
     return moment(this.value).format('DD MMMM') 
     }, 
     style: { 
     fontFamily: 'HelveticaLight', 
     fontSize: '14px', 
     } 
    } 
    }, 
    plotOptions: { 
    series: { 
     compare: 'percent', 
     showInNavigator: true 
    } 
    }, 
    tooltip: { 
    pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>', 
    valueDecimals: 2, 
    split: true 
    }, 
    series: series 
} 

return config 

}

あります

order.map((id) => { 
     const { dateBegin, dateEnd, valueAmount, valueCount, valueQuantity, valueCountCheck, valueCountCustomers } = data[id] || {} 
     const dateTimeBegin = moment(dateBegin, 'DD.MM.YYYY').toDate().getTime() 
     const dateTimeEnd = moment(dateBegin, 'DD.MM.YYYY').toDate().getTime() 

     _.merge(dataCheckCount, { [id]: { id, x: dateTimeBegin, y: valueCount } }) 
     _.merge(dataCheckCount, { [id + 1]: { id: id + 1, x: dateTimeEnd, y: valueCount } }) 
} 
+0

入力したコードとデータを共有してください。 – ewolden

答えて

0

問題はtimezoneOffsetにありました。私はグローバルsetOptionsに次のコードを追加し、問題は修正されています。

global: { useUTC: false, },

関連する問題