uokadaの見逃し三振は嫌いです

ここで述べられていることは私の個人的な意見に基づくものであり、私が所属する組織には一切の関係はありません。

pythonで日付を取り扱う

pythonで日付を取り扱う

python-dateutilが使いやすいのでそれを使ってみる。

python-dateutil - Labix

2.X系はversion1.5以下を使う必要があるので注意。

インストール

pipからバージョン指定してインストールする。

% pip-2.7 install "python-dateutil==1.5"  --no-install
Downloading/unpacking python-dateutil==1.5
  Downloading python-dateutil-1.5.tar.gz (233Kb): 233Kb downloaded
  Running setup.py egg_info for package python-dateutil
    
Successfully downloaded python-dateutil

% pip-2.7 install "python-dateutil==1.5"              
Downloading/unpacking python-dateutil==1.5
  Running setup.py egg_info for package python-dateutil
    
Installing collected packages: python-dateutil
  Running setup.py install for python-dateutil
    
Successfully installed python-dateutil
Cleaning up...

使ってみる

% ipython
In [1]: import dateutil
# mysql> select now();
#+---------------------+
#| now()               |
#+---------------------+
#| 2012-12-02 18:49:33 |
#+---------------------+
#1 row in set (0.00 sec)
# mysqlの結果をパースしてみる。
In [26]: print dateutil.parser.parse('2012-12-02 18:49:33')
2012-12-02 18:49:33

標準で入っているdatetimeモジュールでやるとこんな感じ。

In [30]: import datetime
In [36]: print datetime.datetime.strptime('2012-12-02 18:49:33', '%Y-%m-%d %H:%M:%S')
2012-12-02 18:49:33

パースするときは毎回フォーマット調べるところから入るので時間の節約になる。

datetimeutilの一部しか触っていませんがタイムゾーンの変換をうまくあつかう機能があるので その辺もどんどん使っていきたいと思います。

198:文字列を日時に変換する