Форматер Google datetime не работает для линейного графика Google


По какой-то причине, независимо от того, что я делаю и как я стараюсь, этот формат даты просто не работает. Подсказка по-прежнему показывает неправильный формат. Вы можете попробовать код здесь .

В коде я должен закомментировать formatter.format(dataTable, 0), иначе он не работает.

Есть ли способ, чтобы подсказка показывала правильный формат?

function drawVisualization() {
      // Create and populate the data table.
      var dataTable= new google.visualization.DataTable();
      dataTable.addColumn('datetime', 'Year');
      dataTable.addColumn('number', 'Apple');
      dataTable.addColumn('number', 'Android');
      dataTable.addRows([
          [new Date("6/22/2009 16:00:00"),425,45 ],
          [new Date("6/8/2009 16:00:00"),424, 43],
          [new Date("5/26/2009 16:00:00"),417, 434],
          [new Date("5/11/2009 16:00:00"),390, 343],
          [new Date("4/27/2009 16:00:00"),393, 45],
          [new Date("4/13/2009 16:00:00"),392, 45],
          [new Date("3/30/2009 16:00:00"),369, 868],
          [new Date("3/16/2009 16:00:00"),330, 68],
          [new Date("3/2/2009 16:00:00"),308, 86],
          [new Date("2/17/2009 16:00:00"),346, 43],
          [new Date("2/2/2009 16:00:00"),371, 38],
          [new Date("1/20/2009 16:00:00"),324, 86],
          [new Date("1/5/2009 16:00:00"),315, 78],
          [new Date("12/22/2008 16:00:00"),300, 536],
          [new Date("12/8/2008 16:00:00"),315, 38],
          [new Date("11/24/2008 16:00:00"),292, 78],
          [new Date("11/10/2008 16:00:00"),310, 99],
          [new Date("10/27/2008 16:00:00"),359, 78],
          [new Date("10/13/2008 16:00:00"),372, 68],
          [new Date("9/29/2008 16:00:00"),386, 68],
          [new Date("9/15/2008 16:00:00"),449, 78],
          [new Date("9/2/2008 16:00:00"),444, 69],
          [new Date("8/25/2008 16:00:00"),463, 25],
          [new Date("8/11/2008 16:00:00"),510, 53],
          [new Date("7/28/2008 16:00:00"),467, 38],
          [new Date("7/14/2008 16:00:00"),481, 45],
          [new Date("6/30/2008 16:00:00"),537, 85],
          [new Date("6/16/2008 16:00:00"),546, 123],
          [new Date("6/2/2008 16:00:00"),567, 234],
          [new Date("5/19/2008 16:00:00"),544, 45],
          [new Date("5/5/2008 16:00:00"),573, 54],
          [new Date("4/21/2008 16:00:00"),544, 88],
          [new Date("4/7/2008 16:00:00"),457, 86],
          [new Date("3/24/2008 16:00:00"),438, 78],
          [new Date("3/10/2008 16:00:00"),437, 68],
          [new Date("2/25/2008 16:00:00"),471, 35],
          [new Date("2/11/2008 16:00:00"),529, 45],
          [new Date("1/28/2008 16:00:00"),515, 47],
          [new Date("1/14/2008 16:00:00"),600, 57],
          [new Date("12/31/2007 16:00:00"),657, 57],
          [new Date("12/17/2007 16:00:00"),696, 83],
          [new Date("12/3/2007 16:00:00"),714, 387],
          [new Date("11/19/2007 16:00:00"),676, 75],
          [new Date("11/5/2007 16:00:00"),663, 85],
          [new Date("10/22/2007 16:00:00"),674, 733],
          [new Date("10/8/2007 16:00:00"),637, 327],
          [new Date("9/24/2007 16:00:00"),567, 345],
          [new Date("9/10/2007 16:00:00"),528, 45],
          [new Date("8/27/2007 16:00:00"),515, 324]]);

      // For some reason, it doesn't work correctly
      var formatter = google.visualization.DateFormat({pattern: 'yyyy/MM/dd'});
       //formatter.format(dataTable, 0);

      // Create and draw the visualization.
      var chart = new google.visualization.LineChart(document.getElementById('visualization'));
      chart.draw(dataTable, {curveType: "function"});   
      }      
1 2

1 ответ:

В коде формата имеется синтаксическая ошибка.

Неверно:

var formatter = google.visualization.DateFormat({pattern: 'yyyy/MM/dd'});

Справа:

var formatter = new google.visualization.DateFormat({pattern: 'yyyy/MM/dd'});

Вам нужно добавить 'new' до аргумента DateFormat. Это единственное изменение заставляет ваш код работать должным образом.