Pythonで日付(datetime)入門
Pythonで日付データを扱う方法です。
標準モジュールのdatetimeを使用します。
基本
datetimeモジュールでよく使うのは以下です。
目的 | クラス |
---|---|
日付が欲しい場合 | date |
時刻まで欲しい場合 | datetime |
日付の計算用の差分が使いたい | timedelta |
使い方をみて見ましょう。
今日の日付の取得
today()
を使用します。
import datetime # date:日付が欲しい today_date = datetime.date.today() print today_date # datetime.date(2016, 2, 12) # datetime:時刻まで欲しい today_datetime = datetime.datetime.today() print today_datetime # datetime.datetime(2016, 2, 12,17, 21, 56, 402077)
このようにするとdateオブジェクト,datetimeオブジェクトが帰ってきます。
このオブジェクトの各データには
year,month,day,hour,minute,second,microsecondを用いてアクセスします。
# 年 print today_date.year # 2016 # 月 print today_date.month # 2 # 日 print today_date.day # 12
指定日のdate,datetimeオブジェクトをつくる
先程は今日のデータでしたが、
日付を指定して作成したい場合は以下のようになります。
create_date = datetime.date(2016,2,10) """ 引数を指定してもよい create_date = datetime.date(year = 2016,month=2,day = 10) """
計算を行う
date型とdate型、datetime型とdatetime型であれば
計算が可能です。
today = datetime.date.today() create_date = datetime.date.(2015,2,12) result = today-create_date print result # datetime.timedelta(365) print result.days # 365
この時、返ってくる差分がtimedeltaです。
これを利用すると、ある日付から、
指定日後の日付が算出できます。
# 今日から30日後 days_range = datetime.timedelta(days = 30) date.today + datetime.timedelta(days = 30) """ これも同じ date.today + datetime.timedelta(days = 1)*30 """