在通過「開始」時間顯示我的電話(Django的模型)的圖,在這裏我用Django的DateTimeField字段顯示正確的時區(JavaScript的)
{{ call.start|date:"H:i:s, m/d/Y" }}
我得到正確的時區,例如23:36:34,02/15/2014。
但對於相同的呼叫,當我使用的是谷歌圖的曲線圖呼叫開始時間,下面的代碼放錯斌上述號召,計算的時間是4點36分34秒。
function drawChart2() {
var callArray = {{ calls|safe }};
var calls = [];
calls[0] = ['Call', 'Time'];
for (var i = 1; i < callArray.length; i++) {
call_fields = callArray[i].fields;
if (call_fields.address != "") {
call_display = call_fields.address;
}
else {
call_display = call_fields.building;
}
if (call_fields.start != "") {
call_start = call_fields.start;
}
hour = parseInt(call_start.slice(11, 13), 10);
min = parseInt(call_start.slice(14, 16), 10);
sec = parseInt(call_start.slice(18, 20), 10);
if (hour == 5 && min == 0)
continue;
else
calls.push([call_display, hour + (1/60) * min + (1/3600) * sec]);
}
var time_data = google.visualization.arrayToDataTable(calls)
var options = {
title: 'Times of calls by hour',
legend: { position: 'none' },
};
var chart = new google.visualization.Histogram(document.getElementById('hist_div'));
chart.draw(time_data, options);
}
任何想法如何獲得正確的時區?我的理由是因爲Django根據模板中瀏覽器的時區給出了時間,但是當我在JavaScript中使用它時,我只是直接從存儲方式(UTC)在JS變量中,Django無法動態修復顯示的時區。
你提的兩個不同的上下文變量'call'和'調用',後者似乎是一個數組。 「{{calls | safe}}」的價值是什麼? – arocks
調用是一個對象數組,對不起,如果這是令人困惑。這給出了一個電話字典,每個電話都有自己的字段。 – user2476581