arrow
Posted on Sun, 09 Dec 2012 16:34:17 +0900
arrow は Requests と moment.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'
いいすね。