私が正しく理解していない場合はこれを更新して幸せですが、ここに役立つかもしれないいくつかの例があります。これはdatetime
を使用することに注意してください time
の代わりにモジュール 。
>>> import datetime
ここでは、タイムスタンプts
の例を設定します およびフォーマットf
:
>>> ts = '2013-01-12 15:27:43'
>>> f = '%Y-%m-%d %H:%M:%S'
上記と同様に、strptime
を使用します 関数(datetime.datetime
から )文字列をdatetime
に変換します フォーマットパラメータに基づくオブジェクト:
>>> datetime.datetime.strptime(ts, f)
datetime.datetime(2013, 1, 12, 15, 27, 43)
逆に、ここではdatetime.datetime.now()
を使用します 現在の時刻をdatetime
として取得します オブジェクト:
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2013, 1, 12, 0, 46, 54, 490219)
datetime
場合、strftime
メソッドは実際にはdatetime
で呼び出されます オブジェクト自体、引数としてformattingパラメーターを使用:
>>> now.strftime(f)
'2013-01-12 00:46:54'
あなたの状況では、エラーが発生した理由は、time.time()
が原因です。 フロートを返します:
>>> time.time()
1357980846.290231
ただし、time.strftime
time
が必要です タプル、上記と同様です。時間という厄介なスパイラルに入ることなく、time.localtime()
などの関数 前述のtime
を返します タプルし、期待どおりに戻ります:
>>> now = time.localtime()
>>> now
time.struct_time(tm_year=2013, tm_mon=1, tm_mday=12, tm_hour=0, tm_min=55, tm_sec=55, tm_wday=5, tm_yday=12, tm_isdst=0)
>>> f = '%Y-%m-%d %H:%M:%S'
>>> time.strftime(f, now)
'2013-01-12 00:55:55'