to fetch the data's from website from 00.00 -

2020-05-06 12:03发布

问题:

published_date = 7/11/2019 at 06:04 AM,7/11/2019 at 1:04 AM,7/11/2019 at 5:36 AM,7/11/2019 at 04:00 PM

All times are in EST. I need to fetch data from time range of 00.00 - 07.00 AM(EST).It should skip the time above 7.00AM(EST)

if published_date.time() <= 7:00AM print(published_date.time())

Actual results:

published_date = 7/11/2019 at 06:04 AM,7/11/2019 at 1:04 AM,7/11/2019 at 5:36 AM,7/11/2019 at 04:00 PM

Expected results:

published_date = 7/11/2019 at 06:04 AM,7/11/2019 at 1:04 AM,7/11/2019 at 5:36 AM

回答1:

Your date are not in correct format. Hence it will not parse and compare it correct. You need to use datetime library to convert the strings into date and compare. Here is the working example:

from datetime import datetime
import datetime as dt

datetime_object = datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')
checkTime = dt.time(7,0,0)
published_dates = ["7/11/2019 06:04 AM","7/11/2019 1:04 AM","7/11/2019 5:36 AM","7/11/2019 04:00 PM"]
filtered_dates = []
for d in published_dates:
  dt1 = datetime.strptime(d, '%d/%m/%Y %I:%M %p')
  if (dt1.time() < checkTime):
      filtered_dates.append(dt1.strftime("%d/%m/%Y %I:%M %p"))
print('filtered_dates : ', filtered_dates)