あれもPython,これもPython

Pythonで世界を包みたい

Pythonで日付(datetime)入門

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
"""