SQLite在启用时区支持的情况下收到了一个无知的日期时间

24 浏览
0 Comments

SQLite在启用时区支持的情况下收到了一个无知的日期时间

在运行Python中的SQL时,我遇到了以下错误:

/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py:64: RuntimeWarning: SQLite在时区支持激活的情况下收到了一个简单的日期时间(2012-06-22 15:53:43)。

我的查询也返回了错误的数据。

如果我将时间提前两个小时(17:53:43而不是15:53:43),我的时区目前是格林威治时间加2小时,所以我认为问题出在时区上。

如何更改我的查询,以使SQL按照我的意图执行?

SQL:

sqlQuery = """SELECT w.id, w.serial, w.finishdate, w.weighingtype_id, w.netto, w.bruto, w.deleted
    FROM weighing w
    LEFT JOIN weighing w1
    ON w1.id = w.parent_id 
    WHERE w.user_id = %(userid)s"""
if date:
    sqlQuery = sqlQuery + " AND (w.created = %(date)s OR w.modified > %(date)s)"

编辑:添加了转换日期时间的代码

data = request.GET.copy()
if 'date' in data:
    try:
        data['date'] = datetime.datetime.strptime(data['date'], "%Y-%m-%dT%H:%M:%S")
    except:
        raise error(311)

0