日付の差分をPythonで (自動パース版)

Pythonのことをもっと知りたい体調不良のbonlifeです。

Pythonは他の言語のような、自動で書式を判別、パースしてくれる変換関数がない。上のようにstrptimeで文字列の書式を指定してやってパースさせるしかないようだった。

そ、そんなことないもの!Pythonは出来る子です。曖昧さを避けるPythonでは、標準モジュールとしては組み込まれていませんが、dateutil ってのを入れてあげれば、ほら簡単。 ( easy_install とかで入れちゃえば良いと思います。)

import sys
from dateutil import parser
print (parser.parse(sys.argv[1]) - parser.parse(sys.argv[2])).days

括弧で囲んで days と指定しなくても、それっぽい表示はされます。とか書いてると、やっぱり dateutil ぐらい標準で入れといてくれても…とか思ってしまいますね。でも、適当なことが大嫌いなPythonの真面目さを評価してあげなきゃっ!

[参考URL]