0

日付を文字列として 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'

どちらも同じ結果になると思っていました。何か不足していますか?

ありがとう!-ジャレッド・キベレ

4

1 に答える 1

0

SQLite の strftime() は UTC を使用します。Python では、12 時間 (43200 秒) 前のタイム ゾーンが使用されます。

于 2012-09-01T23:43:07.133 に答える