Python 仅当时间是 5 时
Posted
技术标签:
【中文标题】Python 仅当时间是 5 时【英文标题】:Python Only If Time is 5 past the hour 【发布时间】:2018-10-22 16:35:45 【问题描述】:如果时间在一小时内的特定分钟之间,我只想运行一段代码,但我不知道如何在 Python 中获取小时数。
php中的等效代码为:
if (intval(date('i', time())) > 15 && intval(date('i', time())) < 32)
// any time from hour:16 to hour:33, inclusive
else
// any time until hour:15 or from hour:32
在 Python 中应该是这样的:
import time
from datetime import date
if date.fromtimestamp(time.time()):
run_my_code()
else:
print('Not running my code')
我通常会使用 cron,但这是在 Lambda 中运行的,我想确保这段代码不会一直运行。
【问题讨论】:
How to get current time in python and break up into year, month, day, hour, minute?的可能重复 【参考方案1】:这是一种做法。
import datetime
# Get date time and convert to a string
time_now = datetime.datetime.now().strftime("%S")
mins = int(time_now)
# run the if statement
if mins > 10 and mins < 50:
print(mins, 'In Range')
else:
print(mins, 'Out of Range')
【讨论】:
这是获取“分钟”字段的一种非常低效的方法 - 1) 将时间格式化为字符串 - HH-MM-SS,2) 检索仅包含分钟的子字符串 - 为什么要指定其他时间如果你不想要它们? 3)解析字符串并转换为整数。【参考方案2】:datetime
类具有您可以使用的属性。你对minute
attribute感兴趣。
例如:
from datetime import datetime
minute = datetime.now().minute
if minute > 15 and minute < 32:
run_my_code()
else:
print('Not running my code')
【讨论】:
【参考方案3】:这是避免加载日期时间模块的单行代码:
if 5 < int(time.strftime('%M')) < 15:
上面的代码只会在整点后的 5 到 15 分钟之间运行(当然是当地时间)。
【讨论】:
以上是关于Python 仅当时间是 5 时的主要内容,如果未能解决你的问题,请参考以下文章
仅当访问 Laravel 5 中的根页面( visit('/') )时,PHPUnit 测试才会失败
仅当用户在 Laravel 5.7 中处于活动状态时才登录用户
仅当两个字符串不存在且其他两个字符串存在时,我才需要一个 python re 来匹配