比较Python中的两个日期对象:TypeError:’datetime.date’和’method’实例之间不支持’<'

比较Python中的两个日期对象:TypeError:’datetime.date’和’method’实例之间不支持’<',第1张

概述这不应该太难,但我似乎无法让它工作. 我想在 Python中比较两个datetime.date类型,但我不断收到类型错误: from datetime import date class Vacancy(object): def __init__(self, date): #date is a datetime string of format 2017-13-03T00.00.00 这不应该太难,但我似乎无法让它工作.
我想在 Python中比较两个datetime.date类型,但我不断收到类型错误:

from datetime import date  class Vacancy(object):    def __init__(self,date): #date is a datetime string of format 2017-13-03T00.00.000Z        self.date = datetime.strptime(date[:-1],'%Y-%m-%dT%H:%M:%s.%f').date()    def getDate(self):         return self.dateall_objects = [o1,o2,o3,o4,...] #contains objects of type Vacancyfor o in all_objects:    earlIEstDate = date(2020,1,1)     if o.getDate() < earlIEstDate:        earlIEstDate = o.getDate()print(earlIEstDate)

TypeError:’<' 'datetime.date'和'method'的实例之间不支持 这对我没有意义,因为:
    print(type(earlIEstDate))和print(type(o.getDate()))都给出
< class'datetime.date'>

我能做错什么?

编辑:为all_objects中的对象添加了类示例代码

EDIT2:正如你们许多人所指出的那样,确实缺少'()’.在我的实际代码中,我通过执行earlIEstDate = o.getDate来分配值的方法instad.下次我会尝试对我的代码更加真实.感谢大家提供的见解,因为我确实来自Java,但我还没有完全理解Python.

解决方法 TypeError应该为您提供解决此问题所需的所有信息.以下是解释它的方法:

TypeError: '<' not supported between instances of 'datetime.date' and 'method'

>’<'不支持意味着您在使用<时遇到错误运算符,你已经知道了.
>比较不起作用,因为您要比较的事情之一不是datetime.date实例.你也已经有了这个.
>如果您使用o.getDate而不是o.getDate(),那么您将获得方法类型.在Python中,您可以根据需要传递方法作为值,就像lambdas或函数一样.但是,在这种情况下,这不是您想要的,因此请确保在想要调用方法的任何地方使用(),即使它不接受任何参数.
>错误消息中类型的顺序也很有趣. datetime.date出现在方法之前意味着日期在左侧,有问题的值在右侧.在您的情况下,earlIEstDate持有方法而不是datetime.date.
>现在我们知道最早的日期是问题,它在哪里更新? earlIEstDate = date(2020,1)显然是一个日期,但是earlIEstDate = o.getDate()怎么样?它使用括号,因此o.getDate()必须返回一个方法.
>鉴于您的代码,Vacancy将始终将self.date设置为日期,否则将抛出异常(类似于ValueError:时间数据’xxx’与格式’%Y-%m-%dT%H不匹配: %M:%S%F’).我猜你的代码看起来不一样,并且Vacancy的初始化在某种程度上是错误的.这是提供MCVE的好处:)

@H_419_43@ 总结

以上是内存溢出为你收集整理的比较Python中的两个日期对象:TypeError:’datetime.date’和’method’实例之间不支持’<'全部内容,希望文章能够帮你解决比较Python中的两个日期对象:TypeError:’datetime.date’和’method’实例之间不支持’<'所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存