Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取下一小时开始前的秒数 我目前使用的RESTAPI每小时只允许1000个查询 一旦1000个查询用完,您就必须等到下一个小时开始时,计数器才会被重置 我的目标是确定在下一个小时开始之前必须等待的秒数 我目前正在使用time.sleep方法将脚本置于睡眠状态,直到下一个小时开始_Python_Datetime_Timedelta - Fatal编程技术网

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