2012-05-25 40 views
0

在Django我創建使用datetime.date()對象的數據系列,如:jquery的海軍報打印日期在x軸

data.append([ddate, daily_score])(ddate是datetime.date()對象,daily_score是整數)

我怎樣才能格式化他們在jquery flot圖中以下列方式?

「日/月」?

我這樣做:

xaxis:{ 
     mode: 'time', 
     timeformat: '%d/%m', 
     minTickSize: [1, "day"] 
}, 

,但我沒有得到任何圖表中顯示的。

+0

你可以打印出你傳遞給你的數據數組嗎? – Maehler

回答

3

如果您閱讀flot documentation,您會看到時間格式應該是Javascript時間戳,即從epoch(1970年1月1日00:00:00 UTC)開始的毫秒數。你通過一個datetime對象,所以我想這就是你的問題。

您可以將日期很容易地轉換成毫秒紀元以來,雖然:

import datetime 
import time 

msdate = time.mktime(datetime.date(2012, 5, 25).timetuple()) * 1000 

後,我寫了這個建議,我看到了海軍報文件還就如何在python做一個建議:

import datetime 
import calendar 

calendar.timegm(datetime.date(2012, 5, 25).timetuple()) * 1000 

否則你的語法看起來可以從我可以告訴。

+0

謝謝。只是一個筆記。我認爲如果你使用'calendar.timgm()',你不需要乘以1000. – xpanta

+0

爲了讓'time.mktime()'和'calendar.timegm()'以相同的數量級返回結果,你必須乘以1000(至少用我的設置)。但是,它們不一定會返回相同的結果。 ['time.mktime()'](http://docs.python.org/library/time.html#time.mktime)返回本地時間和['calendar.timegm()'](http:// docs。 python.org/library/calendar.html#calendar.timegm)返回UTC時間,如果我有權限的文檔。 – Maehler