arrow

arrowRequestsmoment.js のAPIにインスパイアされた日時マニピュレーション用Pythonモジュール。 date, time, timezone, timestamp をいい感じに扱うことを目的にしている。

UTCがデフォルト。

>>> from arrow import arrow
>>> arrow()
<Arrow(2012-12-09T06:45:41.811514+00:00 UTC)>

ローカルタイムアクセス

>>> d = arrow('local')
>>> d
<Arrow(2012-12-09T15:49:36.362125+09:00 JST)>
>>> d.datetime.year, d.datetime.month, d.datetime.day
(2012, 12, 9)
>>> d.timestamp
1355037627

ニュージーランドの友達に電話できるかな?

>>> nz = arrow('NZ')
>>> nz
<Arrow(2012-12-09T20:24:10.913457+13:00 NZDT)>

まだ大丈夫そうだね。日本は何時だ?

>>> nz.to('local')
<Arrow(2012-12-09T16:24:10.913457+09:00 JST)>

人間に見やすくしたいよね。

>>> from datetime import datetime
>>> datetime(2012, 11, 1)
datetime.datetime(2012, 11, 1, 0, 0)
>>> dt1 = datetime(2012, 11, 1)
>>> d.humanize(dt1)
'1 month ago'
>>> d.humanize(dt1, places=2)
'1 month and 1 week ago'
>>> d.humanize(dt1, 3)
'1 month, 1 week and 1 day ago'

いいすね。