Django时间序列格式和高位图

问题描述 投票:0回答:1

我正在尝试使用Django 2.x在高图中实现时间序列

{% for date in timeseries.all %}
{{ date }}
{% if not forloop.last %},
{% endif %}
{% endfor %}

这将提供以下输出:

{'flotation_date': datetime.datetime(2002, 2, 2, 0, 0, tzinfo=<UTC>)} , 
{'flotation_date': datetime.datetime(2002, 2, 1, 0, 0, tzinfo=<UTC>)} , 
{'flotation_date': datetime.datetime(2002, 2, 3, 0, 0, tzinfo=<UTC>)} , 
{'flotation_date': datetime.datetime(2002, 2, 4, 0, 0, tzinfo=<UTC>)}

Highcharts期望:

  1167609600000,
  0.7537
  ],
  [
  1167696000000,
  0.7537
  ],
  [
  1167782400000,
  0.7559
  ],
  [
  1167868800000,
  0.7631
  ],

因此,显而易见的问题是,如何将字典转换为期望的数组?

n.b。此时已省略时间,稍后将添加。

在我看来,数据是这样返回的,我希望这是进行格式化的位置。

timeseries = Flotation.objects.values('flotation_date')
django python-3.x highcharts time-series
1个回答
0
投票

我找到了一种简单的方法。如果您的日期是日期时间对象,请执行以下操作。

yourdate.replace(tzinfo=timezone.utc).timestamp() * 1000

这将为您提供时间戳。 请注意,我是在django视图中而不是在模板中创建图表对象。但是您可以编写一个标记以在模板中使用,以EPOCH秒为单位返回日期。

© www.soinside.com 2019 - 2024. All rights reserved.