2011年12月29日木曜日

python の時間関連ライブラリ

Javaの時間関連ライブラリもたいがい使いにくいが、Pythonのも使いにくい。 多分問題なのは、時刻表現のコアになるタプル形式にタイムゾーンの情報が無いことだろう。 タプル形式を経由するとタイムゾーン情報が欠落するのでローカルタイムで扱っていたのか、GMTなのかわからなくなる。 ちなみにタプル形式にはDay light saving time(サマータイム)かどうかのフラグはある。なんなんだ。

今回はまったのはGMTのdatetime型からepoch秒数を求める場所。タプルにするとタイムゾーンが落ち、

time.mktime(tuple)
とすると、ローカルタイムで解釈されるので、9時間ずれる。。。

色々ググって

calendar.timegm(tuple)
とするといいということがわかった。これはGMTで解釈してくれるので大丈夫、とのこと。

しかし、なんだかなあ。。Javaのように、epochからのミリ秒表現をコアにするほうが合理的だと おもうのだが。

0 件のコメント: