从 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 &lt; time&lt; 12这样的条件。附言datetime 小时采用 24 小时格式。 如何在上述逻辑中更改检查时间 添加 if confition as if( checkTime &lt; dt1.time()) and (dt1.time() &lt; 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

在Y轴中显示时间 - 气泡图

如何使用 sql server 2008 r2 将日期显示为 mm/dd/yyyy hh:mm Am/PM?

makefile.in与makefile.am

使用 Makefile.am/Makefile.in 在 Ubuntu Linux 中构建 c++ 项目

编译pluma: pluma/Makefile.am:192: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL