Python 获取下一小时开始前的秒数 我目前使用的RESTAPI每小时只允许1000个查询 一旦1000个查询用完,您就必须等到下一个小时开始时,计数器才会被重置 我的目标是确定在下一个小时开始之前必须等待的秒数 我目前正在使用time.sleep方法将脚本置于睡眠状态,直到下一个小时开始
我使用Python 获取下一小时开始前的秒数 我目前使用的RESTAPI每小时只允许1000个查询 一旦1000个查询用完,您就必须等到下一个小时开始时,计数器才会被重置 我的目标是确定在下一个小时开始之前必须等待的秒数 我目前正在使用time.sleep方法将脚本置于睡眠状态,直到下一个小时开始,python,datetime,timedelta,Python,Datetime,Timedelta,我使用datetime库提出了一个相当粗糙的解决方案,如下所示(为了安全起见,增加了两分钟) 此脚本确实有效,但在下一个小时是第二天的开始时不可靠 datetime期望小时值介于0..23之间 如果 datetime.datetime.now() 如果将24传递给datetime对象 如果第二天也进入下一个月或下一年,这也是不可靠的 有人能提出一个更好的解决方案来解决这些问题吗?想想datetime.timedelta在这种情况下会对你有所帮助。大概是这样的: import datetime
datetime
库提出了一个相当粗糙的解决方案,如下所示(为了安全起见,增加了两分钟)
此脚本确实有效,但在下一个小时是第二天的开始时不可靠
期望小时值介于datetime
0..23之间
- 如果
datetime.datetime.now() 如果将
传递给24
对象datetime
- 如果第二天也进入下一个月或下一年,这也是不可靠的
有人能提出一个更好的解决方案来解决这些问题吗?想想
datetime.timedelta
在这种情况下会对你有所帮助。大概是这样的:
import datetime
delta = datetime.timedelta(hours=1)
now = datetime.datetime.now()
next_hour = (now + delta).replace(microsecond=0, second=0, minute=2)
wait_seconds = (next_hour - now).seconds
replace
应该可以将您的时间缩短到下一个小时。您应该能够使用datetime.datetime.now()+timedelta(hours=1)
。为什么您希望您的Api像这样运行?@erip该解决方案只需在now()返回的datetime
对象上增加1小时即可
而不是为下一个开始生成datetime
对象hour@OlivierMelançon这不是我创建的API,而是我需要查询的API,还有更多的工作要做。。。但是这可以处理滚动。这当然会在下一个小时返回,但是生成一个datetime
对象到第二天呢?太好了。replace
方法对我很有效,它能够将下一个小时的datetime四舍五入,以获得正确的秒数
import datetime
delta = datetime.timedelta(hours=1)
now = datetime.datetime.now()
next_hour = (now + delta).replace(microsecond=0, second=0, minute=2)
wait_seconds = (next_hour - now).seconds