pythonでfrom to形式の時間を分単位で展開する
pythonで時間展開してみる
こんなデータがあったとして、
from_time : 2018/3/30 20:00:05 to_time : 2018/3/30 20:05:10
こんなふうに展開したい
2018/3/30 20:00:00 2018/3/30 20:01:00 2018/3/30 20:02:00 2018/3/30 20:03:00 2018/3/30 20:04:00 2018/3/30 20:05:00
のでやってみた。
使うライブラリはこれだけ
import datetime
まずは秒を切り捨てする関数を用意 切り捨てる単位は秒でハードコーディング(とてもよくない)
def minute_trunc(dt): return dt-datetime.timedelta(seconds=dt.second)
次に分を加算する関数を用意 なぜか加算する分は引数で可変にしておく
def minute_add(dt,x): return dt+datetime.timedelta(minutes=x)
これらを組み合わせてこんな感じ
def minutes_expand(from_datetime,to_datetime): result = [] for x in range(0,int((minute_trunc(to_datetime)-minute_trunc(from_datetime)).seconds/60)+2): result.append(minute_add(minute_trunc(from_datetime),x)) return result
あとは引数にdatetime形式のものを入れれば 時間を展開した結果をリスト形式で返してくれる。