barutanGNE's blog

kindleで読んだ本の感想や、プログラミングに関する記事など。

Pythonのdatetimeで遊んでみる(Python3.3)

昨日今日は、データベーススペシャリスト勉強そっちのけでCheckiOで遊んでいた。やっとレベル8になった。Pythonのdatetimeモジュールが便利だったので、自分用メモ。timedeltaオブジェクト同士での演算が面白い。

参考

公式リファレンス

モジュールをインポートする

import datetime from *

timedeltaオブジェクトとは?

datetime間の差分を表すオブジェクト。datetime - datetimeをした時に作成される。

datetimeで、引き算ができる、っていうのが面白い。ちなみに、足し算はできない。

実行結果は以下のようになる

now: 2014-02-16T20:55:49.571721
24839 days, 20:55:49.571721
days: 24839
seconds: 75349
microseconds: 571721

timedeltaオブジェクトの演算

もっと面白いのは、timedelta同士で割り算や剰余をとれること。timedelta * int やtimedelta / intもできる。

実行結果は以下のようになる。

[5 year]: 1825 days, 0:00:00
[1/3 year]: 121 days, 16:00:00
[1 week]: 7 days, 0:00:00
[year / week]: 52.142857142857146
[year // week]: 52
[year % week]: 1 day, 0:00:00

余談

どうしてPython3.xではreduceが組み込み関数からはずされちゃったの?????