上記の答えはすべて、日付がdatetime.datetime型の場合にのみ機能すると思います。日付オブジェクトの型が datetime.time または datetime.date の場合はどうなりますか?
これは、日時オブジェクトを見つける方法です。それはいつも私のために働いた。(Python2 & Python3):
import datetime
type(date_obj) in (datetime, datetime.date, datetime.datetime, datetime.time)
Python2 または Python3 シェルでのテスト:
import datetime
d = datetime.datetime.now() # creating a datetime.datetime object.
date = d.date() # type(date): datetime.date
time = d.time() # type(time): datetime.time
type(d) in (datetime, datetime.date, datetime.datetime, datetime.time)
True
type(date) in (datetime, datetime.date, datetime.datetime, datetime.time)
True
type(time) in (datetime, datetime.date, datetime.datetime, datetime.time)
True