您可以使用strptime 转换为日期时间对象。从这里,您可以使用weekdays 方法。
但是,如果您只想保留周一到周五,您的条件是不准确的。请注意,weekday 返回一个 0 到 6 之间的整数,星期一为 0,星期日为 6。
以整数形式返回星期几,其中星期一为 0,星期日为 6。
这意味着您要检查返回的值是5 还是6。
由于其他原因,您的条件将不起作用。
if some_datetime_object.datetime.weekday() != 6 or 1:
这是说如果工作日不是星期日或真。您正在短路您的条件并强制所有内容为True。你需要把它变成这样(调整适当的值)
if some_datetime_object.datetime.weekday() != 6 and some_datetime_object.datetime.weekday() != 1:
我在下面的代码中使用not in做了不同的操作
if datetime.datetime.strptime(d, '%Y%m%d').weekday() not in (5,6):
import datetime
dates = [
"20150801",
"20150802",
"20150803",
"20150804",
"20150805",
"20150806",
"20150807",
"20150808",
"20150809",
]
for d in dates:
if datetime.datetime.strptime(d, '%Y%m%d').weekday() not in (5,6):
print d
这个输出:
20150803
20150804
20150805
20150806
20150807