エポックからの秒数が必要なUTCの時間があります。
strftime を使用して秒数に変換しています。例として 2012 年 4 月 1 日を取り上げます。
>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
エポックからの 2012 年 4 月 1 日の UTC は 1333238400 ですが、上記は 1333234800 を返し、1 時間異なります。
そのため、strftime はシステム時間を考慮して、どこかにタイムゾーン シフトを適用しているようです。datetime は純粋にナイーブだと思いましたか?
どうすればそれを回避できますか?可能であれば、標準でない限り他のライブラリをインポートしないようにします。(移植性に懸念があります)。