y=[datetime.datetime,2016,4,27), datetime.datetime,2016,4,26)]
date1=[datetime.datetime,2016,4,28), datetime.datetime,2016,4,27)]
for item in y:
data2=[]
for item in data1:
if item.month==y.month and item.day==y.day:
data2.append(item.strftime('%d-%b-%y'))
这给出了错误:“列表”对象没有属性“月”。
那么,如何使用月份作为条件遍历日期时间列表?我正在使用Python3
最佳答案
您的python代码不完整(缺少括号)...
问题之一是两个循环变量都具有相同的名称:item
。
提到的错误来自y
是一个列表,而您要的是y.month
。
我将y
重命名为date0
,并用item0
和item1
标记了两个必要的循环变量。这应该工作:
from datetime import datetime
date0 = [datetime(2016, 4, 27), datetime(2016, 4, 26)]
date1 = [datetime(2016, 4, 28), datetime(2016, 4, 27)]
ret = []
for item0 in date0:
for item1 in date1:
if item0.month == item1.month and item0.day == item1.day:
ret.append(item0.strftime('%d-%b-%y'))
print(ret)
(如果您还希望年份相等,则可以执行
if item0 == item1:
)。
关于python-3.x - 对于以月为条件的日期时间的循环列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43658558/