我正在使用 Flask 在页面上显示日期和温度。数据存储在 SQLite 数据库中。它可以很好地使用日期和时间作为字符串,但是当我尝试将日期和时间转换为 unix 纪元时出现问题。
Python代码:
cur = db.execute('select date,temperature from temperatures where temperatures.date > datetime(\'now\',\'-1hour\', \'localtime\') order by date desc;')
entries = cur.fetchall()
return render_template('dashboard2.html', entries=entries)
模板:
{% for entry in entries %}
{{ entry.date }} --- {{ entry.temperature }}
{% endfor %}
结果是:
2013-04-08 21:26:22 --- 22.31
我正在尝试做的事情:
sqlite> select strftime('%s',date),temperature from temperatures where temperatures.date > datetime('now','-1hour', 'localtime') order by date desc;
给出(在 sqlite 控制台中):
(...)
1365340231|22.56
1365340221|22.56
1365340210|22.5
1365340199|22.56
(...)
但:
cur = db.execute('select strftime(\'%s\',date),temperature from temperatures where temperatures.date > datetime(\'now\',\'-1hour\', \'localtime\') order by date desc;')
此选择在 entry.date 中给出空值,在烧瓶模板中在 entry.temperature 中给出预期值:
--- 22.31
我在下面发布了解决方案。