2016-08-11 5 views
2

я работаю с этой простой схеме:Highcharts считает все даты 1970-01-01, несмотря на их быть действительной раз эпоха

https://jsfiddle.net/w7uyghqn/2/

даты Моей в формате: Date(1447793679000), что переводится правильно до Thu Aug 11 2016 10:26:59 GMT-0400 (EDT).

var seriesOptions = [ 
    { 
     "data":[ 
      [Date(1447793679000), 7.8494623656], 
      [Date(1450913358000), 5.4140127389], 
      [Date(1460475392000), 6.015037594], 
      [Date(1460648544000), 3.75], 
      [Date(1460753244000), 2.1015761821], 
      [Date(1460985174000), 3.0141843972], 
      [Date(1460988174000), 5.2264808362], 
      [Date(1461874589000), 1.5100671141] 
     ], 
     "name":"Product 1" 
    }, 
    { 
     "data":[ 
      [Date(1450729647000), 2.9850746269], 
      [Date(1452184898000), 4.1666666667], 
      [Date(1454616863000), 4.1749502982], 
      [Date(1455206741000), 2.6717557252], 
      [Date(1458062356000), 2.4], 
      [Date(1459868909000), 3.8461538462], 
      [Date(1459882015000), 3.3955857385], 
      [Date(1459968893000), 4.1832669323], 
      [Date(1460574864000), 4.973357016], 
      [Date(1460665314000), 5.2032520325] 
     ], 
     "name":"Product 2" 
    } 
] 

Однако, как вы можете видеть на оси х, все это 1 января 1970 года Можно ли определить, что случилось?

Я пробовал так много разных форматов, и я полностью разорвал свои волосы.

+0

Возможный дубликат [Как использовать Epoch время с данными Highcharts серии] (http://stackoverflow.com/questions/8648861/how-to-use-epoch-time-with-highcharts-series-data) – LittleBobbyTables

+2

удалите часть «Дата()» ваших временных меток. Это: ** [Дата (1450729647000), 2.9850746269] ** должно быть: ** [1450729647000, 2.9850746269] ** Ваши марки, как они есть, интерпретируются как некоторое количество секунд, менее чем за день, что приводит к дата первого дня эпохи эпохи - 1 января 1970 г. – jlbriggs

+0

[Документы] (http://api.highcharts.com/highcharts#xAxis.type): _ В оси даты и времени цифры указаны в миллисекундах_ –

ответ

2

Как сказал jlbriggs в комментариях, вы можете просто удалить функцию Date() и использовать фактическое число, которое будет автоматически интерпретироваться Highcharts как количество миллисекунд, прошедших с 1 января 1970 года, потому что вы сказали ей, что xAxis.type является datetime.

Я изменил свой JSFiddle и исправили проблему, так что вы можете увидеть: Working JSFiddle

var seriesOptions = [ 
    { 
     "data":[ 
      [1447793679000, 7.8494623656], 
      [1450913358000, 5.4140127389], 
      [1460475392000, 6.015037594], 
      [1460648544000, 3.75], 
      [1460753244000, 2.1015761821], 
      [1460985174000, 3.0141843972], 
      [1460988174000, 5.2264808362], 
      [1461874589000, 1.5100671141] 
     ], 
     "name":"Product 1" 
    },{ 
     "data":[ 
      [1450729647000, 2.9850746269], 
      [1452184898000, 4.1666666667], 
      [1454616863000, 4.1749502982], 
      [1455206741000, 2.6717557252], 
      [1458062356000, 2.4], 
      [1459868909000, 3.8461538462], 
      [1459882015000, 3.3955857385], 
      [1459968893000, 4.1832669323], 
      [1460574864000, 4.973357016], 
      [1460665314000, 5.2032520325] 
     ], 
     "name":"Product 2" 
    } 
] 
Смежные вопросы