日付関連の処理を簡単にするモジュールDeloreanの紹介
Posted on Sat, 26 Jan 2013 22:41:38 +0900
Pycoder's Weekly に関わってる @myusuf3 さんが作った Delorean が便利。
インストール
特別なことはしなくていい
$ pip install --upgrade delorean
使ってみる
とりあえずDeloreanオブジェクト生成。
>>> import delorean >>> from datetime import datetime >>> now = datetime.now() >>> d = delorean.Delorean(now, 'UTC') >>> d Delorean(datetime=2013-01-26 21:48:33.535728+00:00, timezone=UTC) >>> d.date datetime.date(2013, 1, 26)
パース。
>>> delorean.parse('14/02/03') Delorean(datetime=2014-02-03 00:00:00+00:00, timezone=UTC) >>> delorean.parse('2014-05-03') Delorean(datetime=2014-05-03 00:00:00+00:00, timezone=UTC)
過去と未来を行き来してみる。
>>> d.next_day(1) Delorean(datetime=2013-01-27 21:48:33.535728+00:00, timezone=UTC) >>> d.next_day(2) Delorean(datetime=2013-01-28 21:48:33.535728+00:00, timezone=UTC) >>> d.next_monday(5) Delorean(datetime=2013-02-25 21:48:33.535728+00:00, timezone=UTC) >>> d.next_friday(1) Delorean(datetime=2013-02-01 21:48:33.535728+00:00, timezone=UTC) >>> d.last_week() Delorean(datetime=2013-01-19 21:48:33.535728+00:00, timezone=UTC) >>> d.last_week(1) Delorean(datetime=2013-01-19 21:48:33.535728+00:00, timezone=UTC) >>> d.last_week(2) Delorean(datetime=2013-01-12 21:48:33.535728+00:00, timezone=UTC) >>> d.last_day() Delorean(datetime=2013-01-25 21:48:33.535728+00:00, timezone=UTC) >>> d.last_day(1) Delorean(datetime=2013-01-25 21:48:33.535728+00:00, timezone=UTC) >>> d.last_day(2) Delorean(datetime=2013-01-24 21:48:33.535728+00:00, timezone=UTC) >>> d.last_friday() Delorean(datetime=2013-01-25 21:48:33.535728+00:00, timezone=UTC) >>> d.last_friday(2) Delorean(datetime=2013-01-18 21:48:33.535728+00:00, timezone=UTC)
ストップ。
>>> from delorean import stops >>> for stop in stops(freq=delorean.MONTHLY, count=3): ... print stop ... Delorean(datetime=2013-01-26 13:25:49+00:00, timezone=UTC) Delorean(datetime=2013-02-26 13:25:49+00:00, timezone=UTC) Delorean(datetime=2013-03-26 13:25:49+00:00, timezone=UTC) >>>
デロリアンの名前らしく過去と未来を自由に行き来できますね。