日付・時刻データの扱い †はじめに †datetime の中に datetime があるため, import datetime # ① from datetime import datetime # ② の2種類のインポートが見られる.ちょっと紛らわしい. 文字列→datetime 型 †テキストファイルから読み込んだ文字列群を,python 上で処理できるように変換する際に使用する. t = datetime.datetime.strptime(str_time, '%y/%m/%d %H:%M:%S') # formatは一例 from dateutil.parser import parse t = parse(str_time) リスト型の str_time の桁が不揃いでややこしい場合に parse が役立つ. dtime = [parse(k) for k in str_time] datetime 型→文字列 †ファイル名や図のタイトル,ラベルとして表示する際に使用する. dtime という datetime 型の変数であれば, str_date = dtime.strftime('%y/%m/%d') # formatは一例 で通常は変換できる.ただし,1900年1月1日より前の日付時刻だとエラーになってしまうため工夫が必要. tmp = datetime.datetime(1900, dtime.month, dtime.day) # 年はどの値でもOK(2月29日以外) str_date = str(dtime.year) + "/" + tmp.strftime("%m/%d") datetime.datetime †日付・時刻をそれぞれ直接入力することで datetime.datetime オブジェクトを生成する.年月日は必須(引数は最低3つ).時以降はオプション. dtime = datetime.datetime(year, month, day, hour, minute, second, microsec) datetime.timedelta †日付・時刻のデータは,全てを生の時刻で保持している場合と,ある基準時刻を軸にそこからの差分をリストとしてデータに格納している場合がある. import numpy as np delta_days = [datetime.timedelta(days=num_days[k]-num_days[0]) for k in np.arange(0,len(num_days))] datetime 型のリスト dtime という変数からある基準時刻(yyyy年mm月dd日)との差を取得するには delta_time = [dtime[k] - datetime.datetime(yyyy,mm,dd) for k in np.arange(0,len(dtime))]
numpy.datetime64 †これまでの datetime とは別に,numpy.datetime64 もある. |