简体   繁体   English

如何在两个日期之间的对象列表中搜索值python

[英]How to search value in object list between two dates python

I have code in python like this :我在 python 中有这样的代码:

class Market(object):
    def __init__(self, name, date):
        self.name = name
        self.date = date

marketValue = []
marketValue.append(Market("Knife", "2021-07-21"))
marketValue.append(Market("Pan", "2021-07-22"))
marketValue.append(Market("Glass", "2021-07-23"))

for obj in marketValue:
    print(obj.name + " - " + obj.date)

With output :有输出:

Knife - 2021-07-21
Pan - 2021-07-22
Glass - 2021-07-23

Can i filter or search in my object list between two dates?我可以在两个日期之间的对象列表中过滤或搜索吗? For example startDate = '2021-07-21' , endDate = '2021-07-22'.例如 startDate = '2021-07-21' , endDate = '2021-07-22'。 Then And the result is like this, according to search :然后结果是这样的,根据搜索:

Knife - 2021-07-21
Pan - 2021-07-22

Anyone have a solution?有人有解决方案吗?

Use datetime module to generate a range of dates -使用 datetime 模块生成一系列日期 -

marketValue = []
marketValue.append(Market("Knife", "2021-07-21"))
marketValue.append(Market("Pan", "2021-07-22"))
marketValue.append(Market("Glass", "2021-07-23"))

startDate = '2021-07-21'
endDate = '2021-07-22'

sd = datetime.date(2021,7,21)

ed = datetime.date(2021,7,22)

dates = [(str(sd.year) + '-0' + str(sd.month)+'-') + str(i) for i in range(sd.day,ed.day+1)]
print(dates)

for obj in marketValue:
    if obj.date in dates:
        print(obj.name + " - " + obj.date)

I hope you get this right!我希望你做对了!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM