abi
abi

Reputation: 7

to fetch the data's from website from 00.00 - 7.00AM(EST) IN PYTHON datetimerange using between condition

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

Upvotes: 0

Views: 52

Answers (1)

Nishu Tayal
Nishu Tayal

Reputation: 20880

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)

Upvotes: 0

Related Questions