我正在尝试为我的电脑编写自动关机程序。我对编程相当陌生,对这个问题可能很容易解决。
我有两个约会
import datetime
startup_date = datetime.datetime.now() #This is the datetime when I start up my pc
shutdown_date = startup_date + datetime.timedelta(days=1) #Tomorrow
所以,我想让shutdown_date
发生在第二天凌晨3点。我想如何获得明天的约会,但我不知道如何计算为了总是计时器指着第二天凌晨3点。有时我在中午12点启动电脑,有时在下午2点。所以我需要自动计算启动时间和期望的关闭时间(第二天凌晨3点)之间的差异。
我相信这很容易解决,但是我看不出来。
谢谢!
你可以:
- 获取今天的日期
- 加一天
- 将其时间改为凌晨3点:
import datetime
startup_date = datetime.datetime.now()
shutdown_date = startup_date + datetime.timedelta(days=1)
shutdown_date = shutdown_date.replace(hour=3, minute=0, second=0, microsecond=0)
您可以从shutdown_date
开始,但只使用date
组件,并将time
硬编码为03:00。然后你可以从startup_date
>>> import datetime
>>> startup_date = datetime.datetime.now()
>>> shutdown_date = startup_date + datetime.timedelta(days=1)
>>> tomorrow_morning = datetime.datetime(shutdown_date.year, shutdown_date.month, shutdown_date.day, hour=3)
>>> tomorrow_morning - startup_date
datetime.timedelta(seconds=48730, microseconds=54057)
与凌晨3点的时间组合:
shutdown_date = datetime.datetime.combine(shutdown_date, datetime.time(3, 0))