我在这个网站上潜伏了很长时间,最终对学习python变得非常认真。因此,我一直在努力将命令传递给AT守护程序。我走了那么远,知道如何将时间与我希望运行的命令一起传递给AT。现在,我想设置开始时间,持续时间和间隔。这是问题,我需要以以下格式将时间传递给AT:小时:分钟(例如23:00)。我会非常感谢python的一些指导。
示例:
如果我想从下午5点开始(开始17:00)并每30分钟运行2小时(运行120分钟)。因此,这将在以下位置运行命令:
17:00
17:30
18:00
18:30
19:00
编辑:感谢lvrf,我最终完成了此操作。感谢您的帮助!
def get_schedule(config):
schedule = []
start_time = datetime.datetime.now().replace(hour=config[0], minute=config[1])
uration = datetime.timedelta(minutes=config[2])
interval = datetime.timedelta(minutes=config[3])
end_time = (start_time + duration)
while start_time <= end_time:
schedule.append(start_time)
start_time = start_time + interval
schedule_strings = []
for time in schedule:
schedule_strings.append(time.strftime("%H:%M"))
return schedule_strings
答案 0 :(得分:0)
如果您只想生成小时:分钟字符串列表,则可以使用datetime
模块来完成。
>>> import datetime
>>> duration = datetime.timedelta(hours=2)
>>> interval = datetime.timedelta(minutes=30)
>>> start_time = datetime.datetime(2019, 2, 28, 17, 00, 0)
>>> times = []
>>> cur_time = start_time
>>> while cur_time <= (start_time + duration):
times.append(cur_time)
cur_time = cur_time + interval
>>> time_strings = [t.strftime("%H:%M") for t in times]
>>> time_strings
['17:00', '17:30', '18:00', '18:30', '19:00']