Python中的每周倒数计时器

问题描述 投票:0回答:1

我正在尝试编写一个在后台连续运行的脚本,以倒计时重复的每周事件。例如,它应该告诉我达到指定时间所需的天数,小时数和分钟数。

如果我有特定的日期和时间,我知道该怎么做。

import datetime
delta = datetime.datetime(2018, 5, 5, 8) - datetime.datetime.now()

但是,如果我没有具体的日期和时间怎么办?日期时间可以让我选择一周中的哪一天吗?

编辑:

即像我这样的伪代码是我需要的。

delta = datetime(Thursday 8 PM) - datetime.datetime.now()
#returns datetime or timedelta in days, hours, minutes
python datetime timer countdown
1个回答
2
投票

编辑:谢谢Ethan,我感谢你的建设性意见。我写了一个小脚本,应该做你想要的:

import datetime
import time
wanted_day = 'thursday'
wanted_time = 8

list = [['monday', 0],['tuesday', 1],['wednesday', 2],['thursday', 3],['friday', 4],['saturday', 5],['sunday', 6]]

for i in list:
    if wanted_day == i[0]:
        number_wanted_day = i[1]

# today delivers the actual day
today = datetime.datetime.today().weekday()

# delta_days describes how many days are left until the wanted day
delta_days = number_wanted_day - today

# time delivers the actual time
time = time.localtime(time.time())

if wanted_time > time[3]:
    delta_hours = wanted_time - time[3]
    delta_mins = 59 - time[4]
    delta_secs = 59 - time[5]

else:
    delta_days = delta_days - 1
    delta_hours = 23 - time[3] + wanted_time
    delta_mins = 59 - time[4]
    delta_secs = 59 - time[5]

print [delta_days, delta_hours, delta_mins, delta_secs]

输出看起来像这样:

[2, 21, 3, 49]

2是天数,21小时数,3分钟数和49秒数(我周四早上8点用作通缉时间)。你只需要输入0-23格式的时间,上午和下午你需要调整一下

© www.soinside.com 2019 - 2024. All rights reserved.