首页 > 解决方案 > 类型错误:无法将 datetime.datetime 与 datetime.date 进行比较

问题描述

我有以下代码

minDate = date(9999, 12, 31)
start = event.get('dtstart').dt
if isinstance(start, datetime.datetime):
        newStart = start.date()
else:
   newStart = start
if(newStart < minDate):
        minDate = start



为什么我在比较的两端都转换为日期时收到此错误

标签: pythondatetime

解决方案


它们不是同一类型。从文档:

class datetime.date - 一个理想化的朴素日期,假设当前的公历一直有效,并且永远有效。属性:年、月、日。

类 datetime.datetime - 日期和时间的组合。属性:年、月、日、时、分、秒、微秒、tzinfo

您需要在此处减轻比较: if(newStart < minDate):

类型在哪里minDate,是datenewStartdateTime


推荐阅读