Google Charts API: Incorrect Date Displayed

I have a strange problem that I'm confused with, but I'm sure someone here will find out what I'm doing wrong. All my dates are displayed incorrectly (i.e. June shows July, July shows August)

My code is here:

// 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}
    });

Displays all data correctly. EXCLUDES a date — July is displayed instead of being displayed on a chart in June. On the same days of the month, but the month is wrong?

+5
source share
3 answers

The javascript Date object starts counting the months to 00, so 00 = January, 01 = February, etc. So, when you build your dates using “06” in the month field, it is actually the 7th month or July

+10

wolv2012, : JS , MySQL 1 12.

SQL , Javascript new Date(...), , "-1" , SQL:

SELECT DATE_FORMAT(jobs.date, '%Y, %m-1, %d') ...

DIY , .

+2

, , ! , , , , - :

SQL Server: SELECT cast(DATEADD(month,-1,[mydate]) as newdate , google, , : replace(cast(DATEADD(month,-1,[mydate]) as date),'-', ',') as dateforJSON

0

All Articles