我想在Google Charts中以日期爲X軸製作折線圖。我已經把所有的東西都排序了,但它要求的傳球日期爲Date
,即new Date(2005, 3, 13)
。有什麼辦法可以將它作爲Unix時間戳或字符串來傳遞嗎?
更多詳細信息
所以我有一堆我要繪製在PHP中的數據。我走的是數據,並將其安排到該格式的數組時,通過json_encode()
運行,將產生正確的JSON格式,每the Google data docs:
$graph_data = array(
'cols' => array(
array(
'id' => 'date',
'label' => 'Date',
'type' => 'datetime',
),
array(
'id' => 'odometer',
'label' => 'Miles',
'type' => 'number',
),
),
'rows' => array(
array(
'c' => array(
array('v' => 1331479502),
array('v' => 56872),
),
),
array(
'c' => array(
array('v' => 1331375984),
array('v' => 55324),
),
),
array(
'c' => array(
array('v' => 1328966460),
array('v' => 54244),
),
),
),
);
{"cols":[{"id":"date","label":"Date","type":"datetime"},{"id":"odometer","label":"Miles","type":"number"}],"rows":[{"c":[{"v":1331479502},{"v":56872}]},{"c":[{"v":1331375984},{"v":55324}]},{"c":[{"v":1328966460},{"v":54244}]}]}
所以我有JSON創作下降,但API希望日期作爲Date
對象傳遞,而不是數字(或字符串)。它現在會拋出一個錯誤,但如果我將其從datetime
更改爲number
,它會完美顯示,因此我知道我的JSON格式是正確的。
有什麼我可以做的,讓API接受Unix時間戳,或者可能是某種字符串?
當我輸入這個,我意識到也許我可以使用一些Javascript來走動JSON對象,並用Date
對象替換時間戳,但如果我不需要通過任何數據操作的JavaScript。
編輯
我得到了一部分的方式有通過設置type
到number
和傳遞日期是這樣的:
array(
'c' => array(
array('v' => 1331479502, 'f' => 'March 11th, 2012'),
array('v' => 56872),
),
),
這使得f
值在工具提示中顯示(耶! ),但v
值仍用於軸標籤。嗯。
編輯#2
看起來有可能是使用DataView到number
時間戳轉換成日期一些潛力,但我還沒有想通出來呢。
你在哪裏做了這個循環?謝謝! – Moozy 2012-11-13 06:28:08
@Moozy:在Javascript中爲了預處理數據。你可以在http://www.viper007bond.com/about/my-cars/看到一個演示。我在這裏還將其鏡像爲備份,以便我的網站在未來發生變化:http://pastebin.com/xsQm8qZT – Viper007Bond 2012-11-14 08:34:59