Похоже, вам нужно изменить json.py, на который вы ссылались, и добавить блок для обработки типа.
Посмотрите, как обрабатывается datetime.datetime
в строке 61 :
elif isinstance(obj, datetime.datetime):
output = {}
fields = ['day', 'hour', 'microsecond', 'minute', 'month', 'second',
'year']
methods = ['ctime', 'isocalendar', 'isoformat', 'isoweekday',
'timetuple']
for field in fields:
output[field] = getattr(obj, field)
for method in methods:
output[method] = getattr(obj, method)()
output['epoch'] = time.mktime(obj.timetuple())
return output
Вам нужно добавить что-то для обработки datetime.date
:
elif isinstance(obj, datetime.date):
#your code here...
Или просто используйте datetime.datetime
вместо datetime.date
.