0

私のアプリでは、Python を介して (AJAX 呼び出しを介して) SQL インスタンスからいくつかの値を次の形式で返しています。

[['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]]

残念ながら、Google Chart API にこれを文字列ではなく日付として認識させたい場合はnew Date(x)、Javascript でオブジェクトを作成する必要があるようです。これは常に必要ですか?JavascriptまたはPythonのいずれかで、現在の出力からプログラムでこれを達成するにはどうすればよいですか? どんなヒントも役に立ちます!

以下は動作しません

...
data.addColumn('date', 'Date');
data.addColumn('number', 'Pageviews');
data.addColumn('number', 'Unique Visitors');
data.addRows([['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]]); 
...

以下の作品:

...
data.addColumn('date', 'Date');
data.addColumn('number', 'Pageviews');
data.addColumn('number', 'Unique Visitors');
data.addRows([[new Date('2012-11-18'), 33, 2], [new Date('2012-11-19'), 162, 11], [new Date('2012-11-20'), 140, 13]]); 
...
4

1 に答える 1

1

これを試して:

var dateArray = [['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]];
for(var i = 0; i < dateArray.length; i++){
    dateArray[i][0] = new Date(dateArray[i][0]); // Set dateArray[i][0] to a `new Date()` with as value the string in `dateArray[i][0]`;
}
data.addRows(dateArray);

これにより、日付文字列が配列内の日付オブジェクトに設定されます。

于 2012-12-19T11:40:46.087 に答える