python和sqlite产生不同的strftime

时间:2012-08-24 00:34:09

标签: sqlite python-2.7 strftime

我一直在尝试将日期作为字符串存储在sqlite中,但是在查询时遇到了正确的结果。我遇到的问题似乎归结为我在sqlite和python中使用strftime得到不同的结果。我将相同的日期转换为每个秒,并获得不同的结果。

In [1]: import sqlite3
In [2]: from datetime import datetime as dt
In [3]: conn = sqlite3.connect(':memory:')  
In [4]: cur = conn.cursor()  
In [5]: cur.execute("select strftime('%s','2012-05-01 12:03:33')").fetchone()
Out[5]: (u'1335873813',)
In [6]: dt.strptime('2012-05-01 12:03:33', '%Y-%m-%d %H:%M:%S').strftime('%s')
Out[6]: '1335830613'

我期待两者都会给我相同的结果。我错过了什么吗?

谢谢! -Jared Kibele

1 个答案:

答案 0 :(得分:0)

SQLite的strftime()使用UTC。 Python使用的是之前12小时(43200秒)的时区。