python列表如下
['2020-06-26 15:23:11','2020-06-26 15:20:31','2020-06-26 08:24:13','2020-06-25 18 :32:17','2020-06-25 18:19:24','2020-06-25 18:12:36','2020-06-25 17:01:28']
我需要在两个日期元素之间获取元素。
python代码是这样的:
startdate = '2020-06-25 18:19:24'
enddate = datetime.strftime(datetime.now(), "%Y-%m-%d %H:%M:%S")
event = ['2020-06-26 15:23:11', '2020-06-26 15:20:31', '2020-06-26 08:24:13', '2020-06-25 18:32:17', '2020-06-25 18:19:24', '2020-06-25 18:12:36', '2020-06-25 17:01:28']
initime = []
for event>startdate and event<=endate:
intime.append(format(event))
答案 0 :(得分:1)
您很近。几件事...
from datetime import datetime
# step 1: get both of your cutoffs into datetime objects
startdate_str = '2020-06-25 18:19:24'
start_date = datetime.strptime(startdate_str, "%Y-%m-%d %H:%M:%S")
end_date = datetime.now()
event = ['2020-06-26 15:23:11', '2020-06-26 15:20:31', '2020-06-26 08:24:13', '2020-06-25 18:32:17', '2020-06-25 18:19:24', '2020-06-25 18:12:36', '2020-06-25 17:01:28']
# step 2: Convert the strings in your list to datetime elements
event_dt = [datetime.strptime(t, "%Y-%m-%d %H:%M:%S") for t in event]
# Step 3: use another list comprehension to test each element
in_window = [dt for dt in event_dt if start_date <= dt and dt <= end_date]
for dt in in_window:
print(dt)
收益:
2020-06-26 08:24:13
2020-06-25 18:32:17
2020-06-25 18:19:24
[Finished in 0.1s]