Tengo un problema extraño que me deja perplejo, pero estoy seguro de que alguien aquí sabrá lo que estoy haciendo mal. Todas las fechas están mostrando de forma incorrecta (es decir, junio es mostrando julio, está mostrando agosto)Google Charts API: Se muestra una fecha incorrecta
Mi código aquí:
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawVisualization);
// Callback that creates and populates a data table,
// instantiates the pie chart, passes in the data and
// draws it.
function drawVisualization() {
var chartTable = new google.visualization.DataTable();
chartTable.addColumn('date', 'Date');
chartTable.addColumn('number', 'Sell');
chartTable.addColumn('number', 'GP');
chartTable.addRows(6);
chartTable.setValue(0, 0, new Date(2011, 06, 22));
chartTable.setValue(0, 1, 1316.90);
chartTable.setValue(0, 2, 456.05);
chartTable.setValue(1, 0, new Date(2011, 06, 21));
chartTable.setValue(1, 1, 1793.70);
chartTable.setValue(1, 2, 531.10);
chartTable.setValue(2, 0, new Date(2011, 06, 20));
chartTable.setValue(2, 1, 13559.25);
chartTable.setValue(2, 2, 1337.75);
chartTable.setValue(3, 0, new Date(2011, 06, 17));
chartTable.setValue(3, 1, 3034.15);
chartTable.setValue(3, 2, 892.30);
chartTable.setValue(4, 0, new Date(2011, 06, 16));
chartTable.setValue(4, 1, 568.45);
chartTable.setValue(4, 2, 175.05);
chartTable.setValue(5, 0, new Date(2011, 06, 15));
chartTable.setValue(5, 1, 7203.85);
chartTable.setValue(5, 2, 1343.45);
var date_formatter = new google.visualization.DateFormat({pattern: 'EEE, MMM-d'});
date_formatter.format(chartTable, 0); // Apply format to first column of table
var currency_formatter = new google.visualization.NumberFormat({prefix: '$'});
currency_formatter.format(chartTable, 1); // Apply format to second column of chart
currency_formatter.format(chartTable, 2); // Apply format to third column of chart
// Create and draw the visualization.
chart = new google.visualization.LineChart(document.getElementById('chart'));
chart.draw(chartTable, {width: 900, height: 400, title: 'Sales Summary',
vAxis: {maxValue: 20000, format: '$##,###', viewWindowMode: 'maximized'},
hAxis: {direction: -1}
});
está mostrando todos los datos correctamente, excepto el día - en lugar de mostrar en el gráfico de junio, está mostrando julio ??? Los mismos días del mes pero el mes está mal?
acaba de encontrar que al buscar más en Date Object! solo para dificultarlo –
vamos, cada programador sabe que empiezas a contar en 0;) – wolv2012
sí, pero los días del mes empiezan a contar con 1, ¡así que hay excepciones! Obtengo fecha de MySQL usando DATE_FORMAT con% m - no parece haber un método para obtener lo que necesito - ¡Tendré -1 cada mes! ¿Hay alguna manera mejor? (Por cierto, me costaría clasificarme como un "programador" :) –