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
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)