如何在Python中实现仅在每小时特定分钟区间执行代码?
实现Python中的分钟区间判断逻辑
没问题,我来帮你搞定这个需求!首先先理清楚你PHP代码的逻辑:它是判断当前分钟数是否大于15且小于32,也就是当前时间的分钟在16到31之间(包含两端)——虽然注释写的是16到33,但代码实际逻辑是16-31,这点要注意哦。
接下来给你两种Python的实现方式,都能准确完成这个判断:
方法1:使用datetime模块(推荐)
datetime模块是Python处理时间的常用工具,语法更直观:
from datetime import datetime # 获取当前时间的分钟数 current_minute = datetime.now().minute # 和PHP逻辑一致的区间判断 if 15 < current_minute < 32: run_my_code() # 执行你的代码 else: print('Not running my code')
方法2:使用time模块
如果你习惯用time模块,也可以这样写:
import time # 通过localtime获取当前时间结构体,tm_min就是分钟数 current_minute = time.localtime().tm_min if 15 < current_minute < 32: run_my_code() else: print('Not running my code')
为什么你的雏形代码不对?
你之前写的date.fromtimestamp(time.time())只会获取当前的日期(年月日),根本没有涉及到分钟数,自然无法判断时间区间啦。
Lambda环境的注意事项
因为你的代码运行在Lambda中,每次触发执行时先做这个时间判断就好:符合条件就运行业务代码,不符合直接返回,完全不用担心持续执行的问题——毕竟Lambda是按需触发、执行完就结束的无状态服务,刚好适配这个场景。
内容的提问来源于stack exchange,提问作者Ken J
相关产品推荐
相关产品推荐

