Pythonでの時刻データ変換 3種類
TwitterAPIからクローリングしたデータをDBで管理・検索しやすくするためにタイムスタンプをUNIXタイムで保存しておきたい。
以下、最近Pythonでよく使う時刻データの変換
datetimeオブジェクトからUNIXタイムへの変換
>>> from datetime import datetime >>> import time >>> now = datetime.now() >>> stamp = time.mktime( now.timetuple() ) 1328624789.0
UNIXタイムからtimeオブジェクトへの変換
>>> stamp=1328624789.0 >>> time.localtime(stamp) time.struct_time(tm_year=2012, tm_mon=2, tm_mday=7, tm_hour=23, tm_min=26, tm_sec=29, tm_wday=1, tm_yday=38, tm_isdst=0) >>> time.gmtime(stamp) time.struct_time(tm_year=2012, tm_mon=2, tm_mday=7, tm_hour=14, tm_min=26, tm_sec=29, tm_wday=1, tm_yday=38, tm_isdst=0)
日付・時刻を表す文字列からUNIXタイムへの変換
>>> str="20120203" >>> datetime.strptime(str, "%Y%m%d") datetime.datetime(2012, 2, 3, 0, 0) >>> str="2012-02-03 23:41:25" >>> timeobj=datetime.strptime(str, "%Y-%m-%d %H:%M:%S") datetime.datetime(2012, 2, 3, 23, 41, 25) >>> stamp=time.mktime( timeobj.timetuple() ) 1328280085.0