Python 現在時刻を表示する

スクリプトを書いていて現在時刻を表示したいことがあります。Python では datetime モジュールによって簡単に実現できるのでメモしておきましょう。

import datetime
d = datetime.datetime.today()
print('d:', d)
d: 2014-04-01 23:31:39.463726

datetime.datetime.today() というメソッドで現在の日時を取得できました。もうひとつ datetime.datetime.now() というメソッドもあり、こちらは引数にタイムゾーンを指定できるようです。何も指定しなければ today() の方と同じものが返ってきます。

now = datetime.datetime.now()
print('now:', now)
now: 2014-04-01 23:31:41.464821

これらの戻り値の型は datetime.datetime オブジェクトで、2 つの差を取ったり、大小比較をすることもできます。(加算はできませんでした)

d = datetime.datetime.today()
print('d:', d)

# 2 秒ウェイトを入れる
time.sleep(2)

now = datetime.datetime.now()
print('now:', now)

# 減算ができる
delta = now - d
print('delta:', delta) # 0:00:02.001121

# 時刻としてより前を示す方(d)が小さいとされる
print('now > d :', now > d) # True
d: 2014-04-02 00:01:11.744970
now: 2014-04-02 00:01:13.746091
delta: 0:00:02.001121
now > d : True

文字列としてフォーマットする方法などについてもあらためて書いてみます。