下面是一个示例代码,演示了如何按照日期差异筛选模型对象:
from datetime import datetime, timedelta
class ModelObject:
def __init__(self, name, date):
self.name = name
self.date = date
# 创建一些模型对象
objects = [
ModelObject("Object 1", datetime(2021, 1, 1)),
ModelObject("Object 2", datetime(2021, 6, 1)),
ModelObject("Object 3", datetime(2021, 3, 1)),
ModelObject("Object 4", datetime(2022, 1, 1))
]
# 定义筛选函数
def filter_objects_by_date(objects, days):
today = datetime.now()
filtered_objects = []
for obj in objects:
diff = today - obj.date
if diff.days >= days:
filtered_objects.append(obj)
return filtered_objects
# 使用筛选函数筛选模型对象
filtered_objects = filter_objects_by_date(objects, 90)
# 打印筛选结果
for obj in filtered_objects:
print(obj.name, obj.date)
在这个示例中,我们首先定义了一个ModelObject
类,它包含一个名称属性和一个日期属性。然后,我们创建了一些模型对象并存储在一个列表中。
接下来,我们定义了一个filter_objects_by_date
函数,该函数接受一个模型对象列表和一个表示日期差异的天数作为参数。函数首先获取当前日期,然后遍历模型对象列表,计算每个对象的日期与当前日期之间的差异。如果差异大于等于指定的天数,就将该对象添加到一个新的列表中。
最后,我们使用filter_objects_by_date
函数筛选出日期差异大于等于90天的模型对象,并打印筛选结果。
请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行适当的修改。