从 00.00 - 7.00AM(EST) IN PYTHON datetimerange 使用 between 条件从网站获取数据
Posted
技术标签:
【中文标题】从 00.00 - 7.00AM(EST) IN PYTHON datetimerange 使用 between 条件从网站获取数据【英文标题】:to fetch the data's from website from 00.00 - 7.00AM(EST) IN PYTHON datetimerange using between condition 【发布时间】:2019-11-30 05:28:39 【问题描述】: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
所有时间均为美国东部时间。
我需要从00.00 - 07.00 AM(EST)
的时间范围内获取数据。它应该跳过7.00AM(EST)
以上的时间
如果 published_date.time()
实际结果:
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
预期结果:
published_date = 7/11/2019 at 06:04 AM,7/11/2019 at 1:04 AM,7/11/2019 at 5:36 AM
【问题讨论】:
到目前为止你尝试了什么? if published_date.time() 您可以将代码粘贴到您的问题中吗? 如果 published_date.time()published_date
是什么类型的变量?将其转换为日期时间对象(例如,如果最初使用 string
,则使用 strptime()
),然后您可以选择带有条件的范围,例如 if published_date.hour >= 7
【参考方案1】:
您的日期格式不正确。因此它不会解析和比较它是否正确。您需要使用datetime
库将字符串转换为日期并进行比较。
这是工作示例:
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)
【讨论】:
fr 时间范围在上午 7 点到下午 12 点之间,它也应该包含上午 7 点的数据 如果你想在一个时间范围内获取日期时间,使用7 < time< 12
这样的条件。附言datetime 小时采用 24 小时格式。
如何在上述逻辑中更改检查时间
添加 if confition as if( checkTime < dt1.time()) and (dt1.time() < dt.time(12,0,0)): range_dates.append(dt1.strftime("%d/%m/%Y %I:%M %p"))
下面是示例:repl.it/repls/ModernPriceyScreenscraper
对于下午 12 点到晚上 11:59 之间的时间范围 if( checkTime
以上是关于从 00.00 - 7.00AM(EST) IN PYTHON datetimerange 使用 between 条件从网站获取数据的主要内容,如果未能解决你的问题,请参考以下文章
以分钟为单位显示时间间隔 - Kendo Scheduler
如何使用 sql server 2008 r2 将日期显示为 mm/dd/yyyy hh:mm Am/PM?
使用 Makefile.am/Makefile.in 在 Ubuntu Linux 中构建 c++ 项目
编译pluma: pluma/Makefile.am:192: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL