読者です 読者をやめる 読者になる 読者になる

日付表現の扱い

Pythonで日付表現を扱いたい時のメモ書き
日付の入った文字列を日付表現にすることが一番面倒臭い

import datetime

# 今日
datetime.date.today()
# >>> datetime.date(y, m, d)
# 今日の今
datetime.datetime.today()
# >>> datetime.datetime(u, m, d, h, m)

_day = "2013-02-10-16-50"
day = datetime.datetime(*[int(i) for i in _day.split("-")])
# >>> datetime.datetime(2012, 2, 10, 16, 50)
# datetime.datetime(y, m, d, h, m)

# 日付の差
daydiff = day1 - day2
# >>> datetime.timedelta(day, second)
daydiff.days
# >>> day1とday2の差の日数
daydiff.seconds
# >>> day1とday2の24時間未満の差の秒数
daydiff.total_seconds()
# >>> day1とday2の差の総秒数

>>> d1 = datetime.date(2013, 2, 10)
>>> d2 = datetime.date(2013, 2, 9)
>>> days = d1 - d2
>>> days.days
1
>>> days.seconds
0
>>> days
datetime.timedelta(1)
>>> days.total_seconds()
86400.0
>>> d1 = datetime.datetime(2013, 2, 10, 17, 00, 00)
>>> d2 = datetime.datetime(2013, 2, 9, 17, 01, 00)
>>> days = d1 - d2
>>> days
datetime.timedelta(0, 86340)