2009年6月11日 1:15 AM by Abalone
Python で日付と時間を扱う場面があると思う。実際、私が今作成しているプログラムでもそういった場面がある。
このために日付と時間の両方を扱えるdatetimeモジュールを使ってみたい。
まずは、datetimeクラスを生成してみる。
datetimeクラスは、datetimeモジュールで定義されているので、オブジェクトを生成する際には以下のようになる。
>>> import datetime >>> dt = datetime.datetime(2009,6,10,13,24,25) >>> print dt 2009-06-10 13:24:25
この場合、dt = datetime(2009,6,10,13,24,25)とするとエラーになるので注意。そのように記述したい場合には、datetimeクラスをdatetimeモジュールからimportをする必要がある。
>>> from datetime import datetime >>> dt = datetime(2009,6,10,13,24,25) >>> print dt 2009-06-10 13:24:25
datetimeクラスのコンストラクタには、さらにマイクロ秒,タイムゾーンを指定することが可能。指定必須なのは、年月日。下の例は、年月日だけ指定した場合の例、その下はマイクロ秒まで指定した場合の例である。タイムゾーンの指定はdatetime.tzinfoクラスのサブクラスを作る必要があるので、少々手間がかかるので、ここではやらない。
>>> import datetime >>> dt = datetime.datetime(2009,06,10) >>> print dt 2009-06-10 00:00:00 >>> dt2 = datetime.datetime(2009,06,10,13,24,25,5000) >>> print dt2 2009-06-10 13:24:25.005000
datetimeオブジェクト同士で引き算、比較演算も可能である。
>>> print dt2 - dt 13:24:25.005000 >>> if dt2 > dt: ... print "dt2 is bigger." ... else: ... print "dt is bigger." ... dt2 is bigger.
datetimeクラスには他にも現在時刻を格納したdatetimeオブジェクトを返却するメソッド、datetime.now()なども用意されているので、結構便利に使える。
さらにタイムゾーンの指定もやってみるが、それはまた次回。
トラックバックURL
この記事に対するコメント/トラックバックはまだありません
コメントをどうぞ



