在通过“开始”时间显示我的电话(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